Skip to content

Add macOS 15 CI images with Xcode 16.4 #4083

Closed

Description

@targos

V8 builds now need at least Xcode 16.4, which requires us to bump macOS to at least 15.3.

See nodejs/node#58069
Example failing canary release: https://ci-release.nodejs.org/job/iojs+release/10961/

@ryanaslett Is this something that can be done? I don't know if we would have to use the newer version for all jobs or if can keep macOS 13 and 15 in parallel and select a version in the Jenkins jobs based on the Node.js version.

Activity

  1. ryanaslett commented on May 21, 2025

    @ryanaslett
    Contributor

    Our current mac infra has 2 intel nodes and 2 arm nodes that are serving both release infra and test infra.

    Each node is capable of having 2 VM's at a time on them, for a total of 4 concurrent intel nodes and 4 concurrent arm nodes.

    I have set the test infra to never have more than 3 at a time running so that release always has an available node.

    If the node version determines which macOS version we test, then it should be relatively simple to do, as we're not trying to test both versions of xcode with the same test (thus not incurring more tests)

  2. self-assigned this
    on May 23, 2025
  3. ryanaslett commented on Jun 2, 2025

    @ryanaslett
    Contributor

    Update on this:

    We need to upgrade the underlying cluster from our current 3.0 to at least 3.2 in order to have Sequoia images available.

    Orka is releasing 3.3 on Jun 11, so we can either wait until the new release is out (to avoid having to upgrade again), or, alternately we can ask to upgrade to 3.2 if we need this sooner.

  4. targos commented on Jun 3, 2025

    @targos
    MemberAuthor

    Waiting SGTM

  5. UlisesGascon commented on Jun 3, 2025

    @UlisesGascon
    Member

    +1 to wait

  6. changed the title [-]Add macOS 15 CI images with Xcode 16[/-] [+]Add macOS 15 CI images with Xcode 16.4[/+] on Jul 27, 2025
  7. mcollina commented on Aug 2, 2025

    @mcollina
    SponsorMember

    @ryanaslett what's the status of this?

  8. ryanaslett commented on Aug 4, 2025

    @ryanaslett
    Contributor

    Hi Matteo, so the Orka cluster is upgraded now, but the images that were running (the macos13 ones) were broken, and required reconstructing.

    Thats done, and we're back, and now, with an upgraded cluster, able to move forward with macos15 images with modern XCode builds, however the current priority is to reconstruct some ARM instances as our provider sprung a surprisingly short deadline on us (Friday) when they would be shutting down our Primary ARM hosts.

    Once we have some temporary ARM hosts in place, to buy us some time to find a new permanent ARM home, I'll be able to pivot back to creating the new OSX Instances.

  9. ryanaslett commented on Aug 4, 2025

    @ryanaslett
    Contributor

    @mcollina (forgot to @ you)

  10. mcollina commented on Aug 29, 2025

    @mcollina
    SponsorMember

    @ryanaslett ping. This is now urgent, as it's blocking the V8 update for the Node.js 25 release.

  11. 11 remaining items

  12. targos commented on Sep 24, 2025

    @targos
    MemberAuthor

    Looks like SEA tests are failing on x64:

    07:53:44     [process 31240]: --- stderr ---
    07:53:44     dyld[31240]: failed to set up thread local variables for '/Users/admin/node-tmp/.tmp.4757/sea': unsupported thread-local, larger than 4GB
    

    @nodejs/single-executable

  13. joyeecheung commented on Sep 25, 2025

    @joyeecheung
    Member

    I think we can just mark SEA on x64 + macOS as "unsupported" if no one ends up fixing it.

  14. ryanaslett commented on Sep 29, 2025

    @ryanaslett
    Contributor

    Status update:

    The packer builds are built for the arm release image and its running a v8-canary release build now: https://ci-release.nodejs.org/job/iojs+release/11286/nodes=osx13-release-pkg/console

    That build is going to take quite a while to finish, as its freshly populating both ccaches for release.

    Same goes for the x64 build: https://ci-release.nodejs.org/job/iojs+release/nodes=osx13-x64-release-tar/11287/console : those have to re-populate the ccache and will take a while.

    Once those finish, I'll adjust the tags/labels to indicate that the releases are exclusively being built on osx15 images, and we should be able to land #4154.

    Tomorrow I'll push up all the packer changes I've made along with re-documenting the whole stack.

  15. ryanaslett commented on Sep 30, 2025

    @ryanaslett
    Contributor

    The images needed more work.. they were missing some things to make them complete (ssh keys to node-www/ssh configs/and the notarization tool credentials wouldnt properly save. Finally got that worked out.

    Theres a build running now that should run closer to the cached speed, and should be much more likely to work: https://ci-release.nodejs.org/job/iojs+release/11293/

  16. ryanaslett commented on Sep 30, 2025

    @ryanaslett
    Contributor
  17. ryanaslett commented on Oct 1, 2025

    @ryanaslett
    Contributor

    Documentation for this new management regime is in : #4163 .

    Images are built and deployed. Lets open new issues for any new complications that arise.

  18. unpinned this issue on Oct 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions