Remove redundant setup-xcode step from macOS CI - #3380
Conversation
The macOS composite action selected latest-stable Xcode through maxim-lobanov/setup-xcode, but Hydra never invokes the Xcode toolchain: there is no reference to xcodebuild, xcrun, clang, DEVELOPER_DIR or CFLAGS anywhere in the tree, and no package builds a C extension. The macOS jobs only create a conda env and run the pure-Python nox sessions. Dropping the step also removes a third-party action from the Actions allowlist. Closes hydra-ecosystem#3369
|
Heads-up on the red The Backlog Atlas job does its work correctly (it computed
This looks like it will affect every community PR, not just this one. The workflow's recent successes are all upstream branches ( Happy to file this as a separate issue if useful — I have left it out of this PR to keep the change scoped to #3369. |
Closes #3369.
The macOS composite action selected
latest-stableXcode throughmaxim-lobanov/setup-xcode@v1.6.0. Hydra never invokes the Xcode toolchain, so the step does nothing for the macOS jobs and keeps a third-party action on the Actions allowlist for no reason.Verification
1. Nothing in the tree touches the toolchain. No reference to
xcodebuild,xcrun,clang,DEVELOPER_DIR,CFLAGS,LDFLAGSorMACOSX_DEPLOYMENT_TARGETin any workflow, script, or Python file, and noext_modules/Extension(...)anywhere — nothing compiles native code.2. Nothing compiles at install time. On macOS arm64 with Python 3.14 (the newest version in the
test_macosmatrix, so the most likely to be missing wheels), every dependency resolved to a prebuilt wheel:The compiler is never invoked, so the selected Xcode version cannot matter.
3. The test suite passes without any Xcode selection. Ran the core tests on macOS 15 (arm64) with
DEVELOPER_DIRunset, i.e. the plain runner default that applies once this step is gone:That excludes
tests/test_completion.py, which fails in my local shell for an unrelated reason (tests/scripts/test_bash_install_uninstall.sh: line 18: python: command not found— the conda env on CI providespython, my login shell only haspython3). Nothing in those failures relates to Xcode.Worth noting for reviewers: removing the step does not remove a compiler.
setup-xcodeonly selects among the Xcode versions already on the runner image by settingDEVELOPER_DIR; without it the image default stays active, and Command Line Tools still provideclang. So even a future dependency that needs to build from source would still build.The two callers of this action — the
test_macosmatrix incore_tests.ymland the macOS leg of release validation inprepare-release.yml— are unchanged, and both should be watched on this PR as the issue asks.