Skip to content

Normalize CI to SciML centralized reusable workflows#864

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

Normalize CI to SciML centralized reusable workflows#864
ChrisRackauckas merged 1 commit into
SciML:masterfrom
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 SciML centralized reusable workflows (SciML/.github/.github/workflows/*.yml@v1, every caller pinned @v1 with secrets: inherit).

Workflows converted

  • FormatCheck.yml -> calls runic.yml@v1 (previously an inline fredrikekre/runic-action@v1 job). The repo was already Runic-enforced and is already formatted; running Runic --check locally on src, test, docs/make.jl, docs/pages.jl produced no diff, so no formatting commit was needed.
  • SpellCheck.yml -> calls spellcheck.yml@v1 (previously inline crate-ci/typos@v1.18.0). The centralized caller uses a newer typos version.

Workflows added (standard set)

  • Tests.yml -> calls tests.yml@v1 with a ["1","lts"] version matrix. The repo had no test workflow but is a testable package (test/runtests.jl runs ExplicitImports checks), so a minimal caller was added. No GROUP is used.
  • Downgrade.yml -> calls downgrade.yml@v1 (julia-version: lts, skip: Pkg,TOML). None existed previously.

Tests and Downgrade are gated with paths-ignore: docs/** so doc-only PRs don't trigger the package test/downgrade runs.

Left unchanged (intentionally)

  • Documentation.yml — NOT migrated. This workflow runs on [self-hosted, gpu-v100] and includes a custom Pkg.develop("OrdinaryDiffEq") step so the docs are built against OrdinaryDiffEq's master, plus DATADEPS_ALWAYS_ACCEPT/draft-PR gating. documentation.yml@v1 cannot reproduce the specific GPU runner label or the extra develop step, so migrating it would silently drop required behavior. Left as-is to preserve the docs build.
  • TagBot.yml — unchanged (standard JuliaRegistries/TagBot).

dependabot.yml

  • Removed the crate-ci/typos version-update ignore block (standing policy: keep everything current, no per-dependency ignores).
  • Preserved the existing julia block (/, /docs, /test, daily, grouped all-julia-packages: ["*"]) and the github-actions block (/, weekly).

CompatHelper

  • None present; nothing to remove.

Spellcheck findings

Adding thr and SIE (code identifiers / a solver name) to .typos.toml as clear false positives. Two real typos remain and are intentionally left for a maintainer to fix (not mass-editing prose here) — the SpellCheck job will flag them:

  • docs/src/examples/classical_physics.md:268Contiunous should be Continuous (in a code comment)
  • docs/src/solvers/bvp_solve.md:102prblem should be problem

The SpellCheck check will be RED until those two typos are fixed.

Heads-up on branch protection

Check names change (e.g. job names now come from the centralized callers). Branch-protection required-status-checks must be updated to the new check names, or merges will be blocked waiting on stale required checks.

🤖 Generated with Claude Code

Migrate to the SciML/.github centralized reusable workflows (pinned @v1):

- FormatCheck.yml: now calls runic.yml@v1 (was inline fredrikekre/runic-action)
- SpellCheck.yml: now calls spellcheck.yml@v1 (was inline crate-ci/typos@v1.18.0)
- Tests.yml: ADDED, calls tests.yml@v1 with version matrix ["1","lts"]
- Downgrade.yml: ADDED, calls downgrade.yml@v1 (julia-version lts, skip Pkg,TOML)

dependabot.yml: removed the crate-ci/typos version-ignore block (standing
policy: no per-dependency ignores). Julia + github-actions blocks preserved.

.typos.toml: added code identifiers `thr` and `SIE` (false positives surfaced
by the newer typos version used by spellcheck.yml@v1).

Documentation.yml left unchanged: its self-hosted gpu-v100 runner and the
`Pkg.develop("OrdinaryDiffEq")` (docs built against OrdinaryDiffEq master)
step cannot be reproduced by documentation.yml@v1 without dropping behavior.

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:52
@ChrisRackauckas ChrisRackauckas merged commit e9e6632 into SciML:master Jun 2, 2026
5 of 6 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