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

macos 14 is only arm64 #9741

Closed
2 of 13 tasks
wmertens opened this issue Apr 24, 2024 · 10 comments
Closed
2 of 13 tasks

macos 14 is only arm64 #9741

wmertens opened this issue Apr 24, 2024 · 10 comments

Comments

@wmertens
Copy link

wmertens commented Apr 24, 2024

Description

I specify

  build-bindings:
    strategy:
      matrix:
        settings:
          - host: macos-latest
            target: x86_64-apple-darwin

but I get an arm64 host. Are there no more x64 hosts for macos 14?

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

Image: macos-14-arm64
Version: 20240415.6

Is it regression?

not sure

Expected behavior

should get latest macos with x64, even if that's not the latest macos

Actual behavior

get arm64

Repro steps

ask for x64 macos-latest runner

@mikhailkoliada
Copy link
Contributor

Hello! As stated in the table the only intel-based macOS-14 runner is macos-14-large (doc). There are no plans to introduce macOS-14 intel standard runners as of now.

@javierggt
Copy link

javierggt commented Apr 24, 2024

I'm sorry, but if I understood correctly, @wmertens is not trying to run macOS-14 specifically. He uses macos-latest. He assumed macos-latest would be macOS-14, but the actual issue is with macos-latest.

I just hit an issue where I'm using macos-latest to build a conda package, and it determines the platform is ARM, so I might have the same issue.

Is the problem that macos-latest is indeed macOS-14? I was under the impression that macos-latest would not be an ARM platform.

@nulano
Copy link

nulano commented Apr 24, 2024

https://github.com/actions/runner-images?tab=readme-ov-file#available-images shows macos-latest as being an ARM platform.

@mikhailkoliada
Copy link
Contributor

mikhailkoliada commented Apr 24, 2024

Starting OS14 standard runners are going to be arm based, i.e. standard OS13 runner is intel but OS14 and further are the arm ones. As of macOS-latest, it is being transited from OS12 to OS14

@marcprux
Copy link

There are no plans to introduce macOS-14 intel standard runners as of now.

@mikhailkoliada This presents a problem for runners that need to build and test both iOS and Android apps (such as Flutter and React Native projects). They generally use the popular https://github.com/ReactiveCircus/android-emulator-runner action, but due to the inability to run nested virtualization on the macOS ARM runners, there is as of now no way to build and test projects on both an iOS simulator (which require macOS) and an Android emulator (which cannot be run on the ARM runners due to the lack of nested virtualization support).

This is also discussed at ReactiveCircus/android-emulator-runner#350, and in the issues of a slew of other projects that are going to be stuck on the macos-13 runners until they age out, at which point they will be stranded.

Having a macOS-14 Intel standard runner would solve this problem.

@str4d
Copy link

str4d commented Apr 26, 2024

The other issue is that, prior to now, all *-latest runners were x86_64. Switching macos-latest from x86_64 to ARM64 breaks a bunch of workflows that involve caching (e.g. #9732 (comment)), because the caching approaches that GitHub recommends (e.g. here) pattern-match on runner.os.

@wmertens
Copy link
Author

Right, I think it would be better to either:

  • make the combo macos-latest+x86 be macos-13
  • fail the CI when macos-latest+x86 is requested

huacnlee added a commit to huacnlee/autocorrect that referenced this issue May 8, 2024
huacnlee added a commit to huacnlee/autocorrect that referenced this issue May 8, 2024
undergroundwires added a commit to undergroundwires/privacy.sexy that referenced this issue May 13, 2024
The GitHub workflow for testing Docker builds on macOS was consistently
failing. This commit downgrades the macOS version used for Docker tests
to `macos-13`, which is the latest Intel-based macOS runner, instead of
the ARM-based `macos-14` which `macos-latest` points to.

This change is necessary because the hypervisor framework required for
Docker is not supported on the ARM-based macOS runners provided by
GitHub. This issue was causing failures when attempting to run Colima
with QEMU using `-accel hvf`, which is unsupported on these runners.
Switching to an Intel-based runner resolves this issue.

Related issues:
- actions/runner-images#9460
- actions/runner-images#9741
- abiosoft/colima#1023
@MordechaiHadad
Copy link

MordechaiHadad commented Aug 27, 2024

I am unable to use x86 runner for macos, it complains about billing or something but this is an open source project I have been using gh actions for, for a few years now and I have never had to pay anything. And every other job that doesn't use macos-latest-large works correctly as well.

image

Workflow file:

on: push

jobs:
  arm:
    runs-on: macos-latest
    steps:
      - name: Get architecture
        run: uname -m
  regular:
    runs-on: macos-latest-large
    steps:
      - name: Get arch again
        run: uname -m

@Mizux
Copy link

Mizux commented Aug 27, 2024

I am unable to use x86 runner for macos, it complains about billing or something but this is an open source project I have been using gh actions for, for a few years now and I have never had to pay anything. And every other job that doesn't use macos-latest-large works correctly as well.

image

Workflow file:

on: push

jobs:
  arm:
    runs-on: macos-latest
    steps:
      - name: Get architecture
        run: uname -m
  regular:
    runs-on: macos-latest-large
    steps:
      - name: Get arch again
        run: uname -m

Did you try to use macos-13 instead to have an intel based runner ? or do you need a macOS 14 specifically ?
ref: https://github.com/actions/runner-images

@karlhorky
Copy link

Copying the comment from @peterlazar1993 , looks like it could be interesting for theoretical future GitHub Actions runners on M3 chips with macOS Sequoia:

You cannot run a VM(android emulator) inside a VM on M1, M2 macs.

M3 macs with OSX15 (upcoming), will allow nested virtualisation - forum.parallels.com/threads/macos-15-sequoia-nested-virtualization-for-m3-macs.364397

GalaxySnail added a commit to GalaxySnail/wcwidth that referenced this issue Sep 5, 2024
macos-latest is currently an alias for macOS 14 Arm64, use
macos-latest-large instead.

[1] actions/runner-images#9741
[2] https://github.com/actions/runner-images#available-images
GalaxySnail added a commit to GalaxySnail/wcwidth that referenced this issue Sep 5, 2024
macos-latest is currently an alias for macOS 14 Arm64, and python 3.7 is
already EOL, so drop it on macOS.

[1] actions/runner-images#9741
[2] https://github.com/actions/runner-images#available-images
GalaxySnail added a commit to GalaxySnail/wcwidth that referenced this issue Sep 5, 2024
macos-latest is currently an alias for macOS 14 Arm64, and python 3.7 is
already EOL, so drop it on macOS.

[1] actions/runner-images#9741
[2] https://github.com/actions/runner-images#available-images
GalaxySnail added a commit to GalaxySnail/wcwidth that referenced this issue Sep 5, 2024
macos-latest is currently an alias for macOS 14 Arm64, and python 3.7 is
already EOL, so drop it on macOS.

[1] actions/runner-images#9741
[2] https://github.com/actions/runner-images#available-images
GalaxySnail added a commit to GalaxySnail/wcwidth that referenced this issue Sep 5, 2024
macos-latest is currently an alias for macOS 14 Arm64, and python 3.7 is
already EOL, so drop it on macOS.

[1] actions/runner-images#9741
[2] https://github.com/actions/runner-images#available-images
jquast pushed a commit to jquast/wcwidth that referenced this issue Sep 12, 2024
wheeheee added a commit to JuliaDSP/DSP.jl that referenced this issue Oct 9, 2024
Also, macOS-latest x64 is emulating x64 on aarch64 (actions/runner-images#9741). Should this be macos-13 x64 instead?
williamboman referenced this issue in fourmolu/fourmolu Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants