Skip to content

CI: unify matrix to lts/1/pre/nightly × native arch per OS#571

Merged
ChrisRackauckas merged 1 commit into
mainfrom
fix/ci-matrix-lts-1-pre-nightly
May 29, 2026
Merged

CI: unify matrix to lts/1/pre/nightly × native arch per OS#571
ChrisRackauckas merged 1 commit into
mainfrom
fix/ci-matrix-lts-1-pre-nightly

Conversation

@ChrisRackauckas
Copy link
Copy Markdown
Member

Summary

Single ci.yml for the full version × OS × test-part grid. Matches the SLEEFPirates and VectorizationBase CI patterns.

Matrix

versions lts, 1, pre, nightly
OSes ubuntu-latest, macOS-latest, windows-latest
arch (via per-OS include:) x64 on ubuntu / windows; aarch64 on macOS-latest (native Apple silicon since the 2024 GitHub Actions image refresh; the previous arch: x64 ran Rosetta-emulated x86 with measurable FP-rounding drift on math tests)
parts part1part6 via LOOPVECTORIZATION_TEST

Total: 4 × 3 × 6 = 72 test jobs, plus Documentation and Doctests.

Soft-fail behavior

continue-on-error: true on pre and nightly. The recurring upstream Julia incompat (MethodError: length(::OncePerThread{Base.IntrusiveLinkedListSynchronized{Task}, …}) introduced in Julia 1.13+ that breaks test/broadcast.jl:205 and test/threading.jl:121) still shows up in the status panel but no longer blocks PRs.

Workflow cleanup

  • Drop .github/workflows/ci-julia-nightly.yml — folded into the unified matrix.
  • Bump codecov/codecov-action v3 → v5 (v3 is EOL; file:files:).

🤖 Generated with Claude Code

Single `ci.yml` for the full version × OS × test-part grid:

- versions: `lts`, `1`, `pre`, `nightly`
- OSes: ubuntu-latest, macOS-latest, windows-latest
- arch via per-OS `include:` — `aarch64` on macOS-latest (native
  Apple silicon since the 2024 image refresh; previous Rosetta x64
  emulation was already producing FP-rounding noise on math tests),
  `x64` elsewhere
- 6 test parts (LOOPVECTORIZATION_TEST=part1..part6)

`continue-on-error: true` for `pre` and `nightly` so the recurring
upstream Julia incompat (`MethodError: length(::OncePerThread{...})`
introduced in Julia 1.13+ that breaks `test/broadcast.jl` and
`test/threading.jl`) surfaces as a soft fail without blocking PRs.

Drop `ci-julia-nightly.yml` — folded into the unified matrix. Bump
`codecov/codecov-action` v3 → v5 (v3 is EOL; `file:` → `files:`).

Matrix shape: 4 versions × 3 OSes × 6 parts = 72 test jobs, plus the
existing `Documentation` and `Doctests` jobs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas merged commit 1ba841a into main May 29, 2026
56 of 75 checks passed
@ChrisRackauckas ChrisRackauckas deleted the fix/ci-matrix-lts-1-pre-nightly branch May 29, 2026 09:38
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.

1 participant