Repository navigation
Conversation
added 2 commits
November 6, 2026 10:55
GitHub retired the macos-14 runner image on 2026-11-02, so every job on that label is cancelled before its first step. That stops the Mac build and test workflow on every pull request and on main, the arm64 wheel builds, and the arm64 wheel publish. Move those jobs to macos-15, an arm64 image GitHub lists as a replacement. It is pinned rather than macos-latest to match the other runner labels in these workflows and to keep the Xcode version from changing with the label. The wheels still target macOS 11.0, so their platform tag does not change. The prereq cache key, job names and artifact names follow the new label, so the first run on each pull request rebuilds the arm64 prereqs.
The macos-15 arm64 runner image has Homebrew's OpenSSL 4.1 on its default search path. DCMTK 3.6.9 and the Thrift 0.20.0 bundled with Arrow both pick it up and neither compiles against it, so the arm64 prereq job fails and no arm64 wheel can build. Nyxus uses neither DCMTK's signing code nor Thrift's TLS socket, so turn OpenSSL off in both builds on macOS. The prereqs no longer depend on which OpenSSL a runner image ships, on arm64 or on Intel. Arrow has no option to pass this to Thrift, so the install script adds -DWITH_OPENSSL=OFF to the Thrift arguments in Arrow's CMake file. Changing the install script changes the prereq cache key, so the first run on each pull request rebuilds the prereqs on every platform.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GitHub retired the
macos-14runner image. Since 2026-11-06, every nyxus job on that label has been cancelled within seconds, before its first step.This PR makes two changes to get those jobs running again:
macos-15.macos-15arm64 image's OpenSSL 4.1 breaks the prereq build.Impact of the retirement
main:Build And Run Test on Macis cancelled, and the arm64 wheels inBuild Wheelscannot build.macosx_10_15_x86_64.Changes
Runner label
macos-15build_and_test_mac.ymlbuild_wheels.ymlpublish_pypi.ymlmacos-15is an arm64 image on GitHub's list of replacements. It is pinned rather thanmacos-latestto match the other runner labels in these workflows and to keep the Xcode version from changing with the label.The wheels still target macOS 11.0, so their platform tag does not change.
OpenSSL in the macOS prereqs
The
macos-15arm64 image has Homebrew's OpenSSL 4.1 on its default search path. DCMTK 3.6.9 and the Thrift 0.20.0 bundled with Arrow both pick it up, and neither compiles against it.ci-utils/install_prereq_linux.shnow turns OpenSSL off in both builds on macOS:-DDCMTK_WITH_OPENSSL=OFF-DWITH_OPENSSL=OFF, added to the Thrift arguments in Arrow's CMake file, because Arrow has no option for itNyxus does not reference DCMTK's
dcmsignordcmtlsmodules, and Parquet does not use Thrift's TLS socket. The change also applies to the Intel prereqs, so they keep building when that image moves to OpenSSL 4.Testing
This PR's own CI is the first full run on
macos-15. Merging needs a check of each macOS job, because the wheel jobs arecontinue-on-errorand a failed one does not fail the workflow run.Changing the install script changes the prereq cache key, so this PR rebuilds the prereqs on every platform.
delocate-wheelstill fails the wheel build if a bundled library requires a macOS version newer than 11.0.publish_pypi.ymldoes not run on pull requests, so its first run onmacos-15will be the next release.After merging
fix(ci)title should make release-please propose a patch release, which would bring the arm64 wheels back to PyPI. Republishing from thev0.12.0tag cannot do this, because that tag's workflow still usesmacos-14.