Skip to content

COMP: Upgrade bit-rotted macOS runner pins to macos-14 house canonical#447

Open
hjmjohnson wants to merge 2 commits intomainfrom
update-build-to-main-branch
Open

COMP: Upgrade bit-rotted macOS runner pins to macos-14 house canonical#447
hjmjohnson wants to merge 2 commits intomainfrom
update-build-to-main-branch

Conversation

@hjmjohnson
Copy link
Copy Markdown
Member

Summary

Two of the three build-test-* matrix blocks in .github/workflows/build-test-publish.yml pinned the retired macos-13 runner image. Upgrade them (and their paired include: entries and the matrix.os == 'macos-13' Xcode-select conditional) to macos-14, matching the canonical runner triple [ubuntu-24.04, windows-2022, macos-14] used by other ITK remote modules (VkFFTBackend, WebAssemblyInterface, ...).

The build-test-python-superbuild job is intentionally left at macos-15 — the "never downgrade" rule wins over strict convergence on the house canonical.

The ubuntu-only build-test-documentation job is not touched.

Test plan

  • Confirm build-test-cxx runs cleanly on macos-14 (the Xcode 14.3.1 pinning step is still wired up — Xcode 14.3.1 ships in the macos-14 image).
  • Confirm build-test-notebooks passes on macos-14.
  • Confirm the build-test-python-superbuild job on macos-15 is unchanged by this PR.

The `build-test-cxx` job (and its paired `matrix.os == 'macos-*'`
XCode-select conditional) and the `build-test-notebooks` job in
.github/workflows/build-test-publish.yml pinned `macos-13`, which is
now a deprecated GitHub Actions runner image.  The
`build-test-python-superbuild` job already targets `macos-15`, so it
is intentionally left alone (the "do not downgrade" rule wins over
strict convergence on the house canonical).

Update the two `macos-13` entries -- matrix lines and include:
blocks, plus the matching `matrix.os == 'macos-13'` conditional that
selects the pinned Xcode 14.3.1 -- to `macos-14`.  This matches the
canonical runner triple `[ubuntu-24.04, windows-2022, macos-14]`
used by the other ITK remote modules (VkFFTBackend,
WebAssemblyInterface, ...) and keeps the Xcode pinning step wired up
(Xcode 14.3.1 is still shipped in the `macos-14` image).  The
`build-test-documentation` job is ubuntu-only and is not touched.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added type:Compiler Compiler support or related warnings type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots labels Apr 11, 2026
@dzenanz
Copy link
Copy Markdown
Member

dzenanz commented Apr 11, 2026

sudo xcode-select -s "/Applications/Xcode_14.3.1.app" causes an error. Xcode version should be updated in sync with the OS version.

The macos-14 runner no longer has Xcode 14.3.1 installed. Instead
of hardcoding a specific Xcode version, detect the latest installed
Xcode app dynamically. This approach works across runner updates
without needing to track which Xcode versions are pre-installed.

  xcode-select: error: invalid developer directory
    '/Applications/Xcode_14.3.1.app'

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:Compiler Compiler support or related warnings type:Infrastructure Infrastructure/ecosystem related changes, such as CMake or buildbots

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants