pulsar-edit / pulsar

A Community-led Hyper-Hackable Text Editor
https://pulsar-edit.dev
Other
3.33k stars 140 forks source link

CI: Pin to macOS 13 runner images instead of macos-latest (GiHub Actions) #996

Closed DeeDeeG closed 6 months ago

DeeDeeG commented 6 months ago

Identify the Bug

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 13 (macos-13), 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

Could 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 13 (macos-13 runner image) without changes, that's a faster fix and a neater/tidier small scope.

Possible Drawbacks

Not building on macOS 14 or ARM. But we weren't really expecting to, up until very recently (some time in April) macos-latest runner images resolved to macos-12 on x86-64.

Verification Process

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

Release Notes

N/A

DeeDeeG commented 6 months ago

Parked this one in favor of #997, though we can pick this one back up as a way to R&D the transition to newer OS base images, and get out ahead of whenever the macos-12 runner image would get end-of-lifed by GitHub Actions.

(Currently macos-11 is marked "deprecated" and macos-12 is not. But much better to be ahead of the curve than to be between a migration and getting CI runs shut off!)

DeeDeeG commented 6 months ago

Closing for now, we can pick this back up later, as time permits?