Skip to content

ci: drop hard-coded julia-arch x64 so macOS tests run on native arm64#28

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-macos-julia-arch
Jun 20, 2026
Merged

ci: drop hard-coded julia-arch x64 so macOS tests run on native arm64#28
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-macos-julia-arch

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Collaborator

Problem

The default branch (main) CI was red on all three macOS test jobs:

  • Tests (1, macOS-latest)
  • Tests (lts, macOS-latest)
  • Tests (pre, macOS-latest)

Each died in the setup-julia step before any Julia ran:

[setup-julia] x64 arch has been requested on a macOS runner that has an
arm64 (Apple Silicon) architecture. You may have meant to use the
"aarch64" arch instead (or "default" or left it unspecified ...).

Root cause

macOS-latest is now Apple Silicon (arm64). The Tests caller passed
julia-arch: "x64" to the centralized reusable workflow
(SciML/.github/.github/workflows/tests.yml@v1), which forwards it as:

arch: "${{ inputs.julia-arch || runner.arch }}"

The hard-coded x64 overrode the runner.arch fallback, producing an
invalid x64-on-arm64 request on macOS-latest. The ubuntu/windows jobs were
unaffected; only the macOS jobs failed.

Fix

Remove the julia-arch: "x64" line from Tests.yml. The reusable
workflow then falls back to runner.arch, which resolves to the runner's
native architecture (x64 on ubuntu/windows, arm64 on macOS-latest).

Local verification

julia +1.12 --project=. Pkg.test() (the 1 channel is 1.12):

Test Summary:       | Pass  Total   Time
LightweightStats.jl |  455    455  52.3s
     Testing LightweightStats tests passed

The test suite is healthy; the CI failure was purely the arch
misconfiguration, which never let the tests run.

Out of scope (separate failure)

The Documentation check is also red, but for an unrelated infra reason:
the docs build succeeds, then the gh-pages deploy fails with
remote: Permission to SciML/LightweightStats.jl.git denied to github-actions[bot] (403). DOCUMENTER_KEY is empty and the
github-actions[bot] token lacks push permission. That requires a repo
secret / token-permission change by a maintainer and cannot be fixed by
editing repo code, so it is not addressed here.


Please ignore until reviewed by @ChrisRackauckas

macOS-latest is now Apple Silicon (arm64). The Tests caller passed
julia-arch: "x64" to the centralized reusable workflow, which forwards
it to setup-julia@v3 as arch: "${{ inputs.julia-arch || runner.arch }}".
The hard-coded x64 overrode the runner.arch fallback, so on macOS-latest
setup-julia errored before any Julia ran:

  x64 arch has been requested on a macOS runner that has an arm64
  (Apple Silicon) architecture.

Removing julia-arch lets the reusable workflow fall back to runner.arch,
selecting x64 on ubuntu/windows and arm64 on macOS-latest. Local
Pkg.test() on Julia 1.12 passes 455/455, confirming the suite is healthy
and the failure was purely the arch misconfiguration.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 20, 2026 11:06
@ChrisRackauckas ChrisRackauckas merged commit 4a36b93 into SciML:main Jun 20, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants