Skip to content

Migrate CI to centralized SciML reusable workflows#378

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:migrate-to-centralized-workflows
Jun 2, 2026
Merged

Migrate CI to centralized SciML reusable workflows#378
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:migrate-to-centralized-workflows

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas

Normalizes this repo's CI to the standard SciML reusable-workflow set, with every caller pinned at @v1 and secrets: inherit.

Workflows converted

  • ci.yml (Tests) → calls SciML/.github/.github/workflows/tests.yml@v1. The full version × group matrix is reproduced exactly: groups Core, Autodiff, GPU, Downstream, Reactant, nopre; versions lts, 1, pre; with the same three excludes (nopre/pre, Downstream/pre, Reactant/pre). Coverage was collected in the original (codecov), so it stays on (reusable default). The original os: ubuntu-latest / arch: x64 were the reusable-workflow defaults, so they are inherited rather than restated.
  • docs.yml (Documentation) → calls documentation.yml@v1. Original docs build did not collect coverage, so coverage: false.
  • FormatCheck.yml (Runic) → calls runic.yml@v1. The repo already ran fredrikekre/runic-action, so this is a pure centralization; no source reformatting was required (verified locally with Runic v1.7.0, --check exit 0).
  • SpellCheck.yml (typos) → calls spellcheck.yml@v1.
  • downgrade.yml (Downgrade) → calls downgrade.yml@v1, preserving group Core, julia-version: 1.10, skip: Pkg,TOML, and allow-reresolve: false. The original paths-ignore: docs/** triggers are preserved.

Added

None — all five standard checks (Tests, Documentation, Runic, SpellCheck, Downgrade) already existed and were only centralized.

Not added (correctly absent)

No downstream/IntegrationTest, benchmark, or QA workflow existed, so none were invented. (Note: ci.yml has an in-repo Downstream test group driven by GROUP, which is preserved as a matrix group — it is not a separate downstream.yml workflow.)

dependabot.yml

  • Removed the per-dependency crate-ci/typos ignore block (standing policy: keep everything current).
  • github-actions block (/, weekly) and julia block (/, /docs, /test, daily, all-julia-packages group) preserved as-is.

CompatHelper

No CompatHelper.yml existed; nothing to remove.

TagBot

Left unchanged.

Typos findings

Ran typos (CLI 1.34.0) locally over the tree: clean, exit 0. The repo's .typos.toml (extend-word noth) covers the one known false positive. The centralized check uses typos 1.47.0 (newer than the previous 1.34.0 pin), which could surface additional findings; none are anticipated, but a newer typos version may flag items the older pin did not.

Heads-up for branch protection

Check names change with centralization (e.g. the test job name becomes Tests from the reusable workflow rather than Julia <ver> - <group> - <event>). Branch-protection required-status-checks must be updated to the new check names or required checks will appear missing.

🤖 Generated with Claude Code

Convert Tests (ci.yml), Documentation (docs.yml), Format Check (Runic),
Spell Check (typos), and Downgrade workflows to call the centralized
reusable workflows in SciML/.github pinned at @v1. Update dependabot.yml
to drop the per-dependency crate-ci/typos ignore block.

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 2, 2026 16:48
@ChrisRackauckas ChrisRackauckas merged commit 97790c7 into SciML:main Jun 2, 2026
19 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