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.
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.
Identify the Bug
Alternative to https://github.com/pulsar-edit/pulsar/issues/996
(PR body below is copied from https://github.com/pulsar-edit/pulsar/issues/996 and lightly modified to reflect
macos-12
runner image rather thanmacos-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 ofmacos-latest
which is now resolving tomacos-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 oflibiconv
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 https://github.com/pulsar-edit/pulsar/issues/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: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 tomacos-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 tomacos-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