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

[CI] [macOS] Fix CI with new GitHub runners #91074

Merged
merged 1 commit into from
Apr 23, 2024

Conversation

AThousandShips
Copy link
Member

New macos-latest run on an arm64 image instead of x86_64 breaking the editor workflow.

See, for example, my own fork:
https://github.com/AThousandShips/godot/actions/runs/8804685495/job/24165878085

This seems to be rolled out piecemeal so currently the main repo hasn't been affected, but I've seen other cases

Picked macos-12 as it's been what's been run on the main repo in my checking

@AThousandShips AThousandShips added bug platform:macos topic:buildsystem cherrypick:4.1 Considered for cherry-picking into a future 4.1.x release cherrypick:4.2 Considered for cherry-picking into a future 4.2.x release labels Apr 23, 2024
@AThousandShips AThousandShips added this to the 4.3 milestone Apr 23, 2024
@AThousandShips AThousandShips requested a review from a team as a code owner April 23, 2024 17:57
@akien-mga akien-mga changed the title [CI,macOS] Fix CI with new GitHub runners [CI] [macOS] Fix CI with new GitHub runners Apr 23, 2024
New `macos-latest` run on an arm64 image instead of x86_64 breaking the
editor workflow.
Copy link
Member

@fire fire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will fix our problems today, but it still leaves work to handle switching between two versions of macos builders.

@akien-mga akien-mga merged commit c7f56d3 into godotengine:master Apr 23, 2024
16 checks passed
@akien-mga
Copy link
Member

Thanks!

@AThousandShips AThousandShips deleted the macos_version branch April 24, 2024 08:20
@AThousandShips
Copy link
Member Author

Thank you!

@AThousandShips
Copy link
Member Author

but it still leaves work to handle switching between two versions of macos builders.

Indeed, chose this approach partially because it wasn't guaranteed for the macos-latest to be the arm version, a more permanent solution would be to make the binary detect the appropriate architecture and make it image agnostic, assuming everything runs fine on the new image, will look into it as well

@bruvzg
Copy link
Member

bruvzg commented Apr 24, 2024

It should be able to do something like bin: ${{ env.RUNNER_ARCH == "X64" && "./bin/godot.macos.editor.x86_64" || "./bin/godot.macos.editor.arm64" }} (have not tested if exact syntax is correct), and detect the arch.

But the best is probably to build both x86_64 and arm64, since some x86_64 target older min. OS version and might have different build issues is new or deprecated API is introduced. At least building both should be possible on any runner arch (not sure about running tests).

@AThousandShips
Copy link
Member Author

AThousandShips commented Apr 24, 2024

Good points, will see if I can test some stuff for that

Will actually see if I can use lipo and make an universal build, like the build scripts do, that'd be more convenient for testing anyway I think, we'll just run the universal version no need to test for arch, though the one question is how to ensure we get consistent testing on both arches, but we don't run tests on all windows arches so shouldn't be an issue necessarily

@akien-mga akien-mga removed cherrypick:4.1 Considered for cherry-picking into a future 4.1.x release cherrypick:4.2 Considered for cherry-picking into a future 4.2.x release labels Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants