Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Darwin ARM64: Unsupported architecture #21

Open
henryruhs opened this issue Apr 27, 2024 · 14 comments
Open

Darwin ARM64: Unsupported architecture #21

henryruhs opened this issue Apr 27, 2024 · 14 comments

Comments

@henryruhs
Copy link

Error: AssertionError [ERR_ASSERTION]: Unsupported architecture (only x64 is supported)

using latest MacOS on GitHub Action:

Current runner version: '2.316.0'
Operating System
  macOS
  14.4.1
  23E224
Runner Image
  Image: macos-14-arm64
  Version: 20240422.3

worked before the update of their images:

Current runner version: '2.315.0'
Operating System
  macOS
  12.7.4
  21H1123
Runner Image
  Image: macos-12
  Version: 20240412.2
@henryruhs
Copy link
Author

henryruhs commented Apr 27, 2024

I suggest a daily cron for your repo to check for future image updates.

temporary fix: use macos-12 or macos-13 ... using ffmpeg: 6.1.1 does not resolve the issue

@federicocarboni
Copy link
Owner

ARM is not supported on macos

https://evermeet.cx/ffmpeg/#remarks

@federicocarboni
Copy link
Owner

Just to clarify what is going on, this action just downloads builds from evermeet.cx and since it doesn't support ARM we can't either.

This is not fixable without finding some source that provides ARM builds.

@henryruhs
Copy link
Author

Homebrew is not an option?

brew install ffmpeg

@chapmanjacobd
Copy link

Just dropping these links here, which are related to the change in default arch for mac-os runner:

emk added a commit to emk/subtitles-rs that referenced this issue May 4, 2024
ali-ramadhan added a commit to ali-ramadhan/matplotloom that referenced this issue May 9, 2024
@raivisdejus
Copy link

@federicocarboni is this helpful http://www.osxexperts.net/ ?
Seems to have ffmpeg builds on ARM

@sun1638650145
Copy link

I am also encountering a similar issue: macos-latest is now using M1.

@cclauss
Copy link

cclauss commented Nov 16, 2024

Workaround

steps:
  - name: ${{ runner.os }} on ${{ runner.arch }}
    run: echo "${{ runner.os }} on ${{ runner.arch }}"
  - uses: actions/checkout@v4
  - if: runner.os != 'macOS' || runner.arch != 'ARM64'
    uses: FedericoCarboni/setup-ffmpeg@v3
  - if: runner.os == 'macOS' && runner.arch == 'ARM64'
    run: brew install ffmpeg
  - run: ffmpeg -i input.avi output.mkv

Or...

steps:
  - uses: actions/checkout@v4
  - if: runner.os == 'Linux'
    run: |
      sudo apt-get update -q -q
      sudo apt-get install --yes ffmpeg
  - if: runner.os == 'macOS'
    run: brew install ffmpeg
  - if: runner.os == 'Windows'
    run: choco install ffmpeg
  - run: ffmpeg -i input.avi output.mkv

Or...

  - uses: AnimMouse/setup-ffmpeg@v1

@henryruhs
Copy link
Author

henryruhs commented Nov 17, 2024

Moving over to AnimMouse/setup-ffmpeg@v1 resolved the issue.

@mifi
Copy link

mifi commented Dec 1, 2024

@cclauss I think you meant runner.os != 'macOS' || runner.arch != 'ARM64', right?

@cclauss
Copy link

cclauss commented Dec 1, 2024

Actually I did not. GHA macOS on Intel is history.
actions/runner-images#10721

@mifi
Copy link

mifi commented Dec 1, 2024

yes, but will runner.os ever be ARM64?

@cclauss
Copy link

cclauss commented Dec 1, 2024

Variable Description
RUNNER_ARCH The architecture of the runner executing the job. Possible values are X86, X64, ARM, or ARM64.

https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables

Runner context:

Property name Type Description
runner.arch string The architecture of the runner executing the job. Possible values are X86, X64, ARM, or ARM64.

https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs#runner-context

@cclauss
Copy link

cclauss commented Dec 1, 2024

Oh... Now I see. Changing above. Thanks.

-  - if: runner.os != 'macOS' || runner.os != 'ARM64'
+  - if: runner.os != 'macOS' || runner.arch != 'ARM64'

-  - if: runner.os == 'macOS' && runner.os == 'ARM64'
+  - if: runner.os == 'macOS' && runner.arch == 'ARM64'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants