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: Pin to macOS 12 runner images instead of macos-latest (GiHub Actions) #997

Merged
merged 1 commit into from
May 6, 2024

Conversation

DeeDeeG
Copy link
Member

@DeeDeeG DeeDeeG commented May 6, 2024

Identify the Bug

Alternative to #996

(PR body below is copied from #996 and lightly modified to reflect macos-12 runner image rather than macos-13.)

Was discussed in Discord: https://discord.com/channels/992103415163396136/1236740088487219320

To recap: There is an issue with the libiconv library apparently not being available in macOS 14 out of the box.

Description of the Change

Pin GitHub Actions macOS runner images to macOS 12 (macos-12), instead of macos-latest which is now resolving to macos-14 (which is ARM64-based) as of some point in April for us.

Going for this solution as the macos-latest runner images now refer to macOS 14 on ARM64 ("Apple Silicon"), which is a big change and not one we're (I'm?) prepared to migrate to just at this moment, besides that it doesn't build on macOS 14 out of the box due to an issue of libiconv apparently not being compatible or available (?) out of the box. This should get us passing CI faster while we evaluate what we want to do about macOS 14/ARM64.

See:

Alternate Designs

First of all, see #966, this is mainly being done in response to that PR having the same libiconv issue as macOS 14 runners do.

Could also try and build on macOS 14, which may be possible. Notes from @savetheclocktower on how to get superstring to build on macOS 14, from the Discord thread:

yeah, so this was definitely about libiconv. I had it installed via homebrew already, so i just needed to do export CPPFLAGS="-I/usr/local/opt/libiconv/include" and then run npm run build again — that fixed the error on my machine

Not doing that for now, since if it builds on macOS 12 (macos-12 runner image) without changes, that's a faster fix and a neater/tidier small scope.

Possible Drawbacks

This PR means not building on macOS 14 or ARM right away, even though the resolution of macos-latest has been updated to macos-14 and it is thus the "default" / perhaps best-supported macOS runner for GitHub Actions now (?). But we weren't really expecting to build on macOS 14 all of a sudden, either. (Up until very recently (some time in April) macos-latest runner images resolved to macos-12 on x86-64.)

So, arguably no drawbacks.

Verification Process

This is a CI fix, so I will be verifying it by checking whether CI passes or not.

Release Notes

N/A

…ons)

There is an issue with the libiconv library not being available
in macOS 14 out of the box. We can get it from Homebrew perhaps,
but for now pin to macos-12 runner images so we can be assured
of having working CI faster, without having to R&D a libiconv-
related workaround for macOS 14.
Copy link
Member

@confused-Techie confused-Techie left a comment

Choose a reason for hiding this comment

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

CI Passes here, and as that's it's purpose looks good to me. Would also love to get this updated on all of our currently failing PRs that exist in the wild as of now with this issue.

Thanks a ton for getting this one together!

@confused-Techie confused-Techie merged commit ac17cd5 into master May 6, 2024
103 checks passed
@DeeDeeG DeeDeeG deleted the CI-pin-GHA-to-macos-12-runner-images branch August 10, 2024 21:59
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

Successfully merging this pull request may close these issues.

2 participants