Skip to content

Centralize CI on SciML reusable workflows + Runic + typo fixes#1478

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:centralize-ci
Jun 4, 2026
Merged

Centralize CI on SciML reusable workflows + Runic + typo fixes#1478
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:centralize-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Moves Catalyst's CI onto the centralized SciML/.github reusable workflows (pinned @v1), with secrets: "inherit" on every caller, plus a Runic format pass and typo fixes.

Converted (inline -> central caller)

  • Downgrade.yml: inline downgrade job -> downgrade.yml@v1 (julia-version: "1.10", skip: "Pkg,TOML", allow-reresolve: false). Preserves the previous matrix's single 1.10 alldeps run and ALLOW_RERESOLVE: false.
  • SpellCheck.yml: inline crate-ci/typos -> spellcheck.yml@v1 (typos version now pinned centrally at v1.47.0).

Added (new central caller)

  • Runic.yml: runic.yml@v1 Runic format check. The repo previously only had format-suggestions-on-pr.yml@v1 (FormatCheck.yml), which posts PR suggestions but does not enforce. All .jl files parse cleanly under Runic, so no exclude: is set.

Unchanged callers

  • Test.yml: already a tests.yml@v1 caller (version x group matrix, coverage: false, secrets: "inherit"). Left as-is.
  • FormatCheck.yml (format-suggestions), TagBot.yml, DocsCleanup.yml: left as-is.

Intentionally NOT converted (behavior the central callers cannot reproduce)

  • Documentation.yml: the active build uses xvfb-run, GKSwstype: "100", a docs-artifact upload, Julia 1.12, and fail_ci_if_error: false. documentation.yml@v1 supports none of the headless-display / artifact bits, so converting would risk breaking the GraphMakie/CairoMakie doc build. Left inline.
  • TestExtensions.yml: runs a custom entrypoint (test/runtests_extensions.jl with --project=test/extensions), which tests.yml@v1 (Pkg.test + GROUP) cannot express. Left inline.

Formatting

  • Ran Runic in-place across the repo (runic_formatted: true). This is the first enforcing Runic pass, so the diff is large (mostly added returns and trailing-whitespace removal).

Typos

  • Fixed 16 clear prose typos via typos -w plus one manual fix (Containes -> Contains, which has ambiguous auto-suggestions). typos . now exits 0.
  • Added oint (ODEIntegrator variable name in tests) and Lamba (LambaEM/LambaEulerHeun SDE solvers) to .typos.toml as domain identifiers rather than mass-editing.

dependabot.yml

  • Removed the crate-ci/typos ignore (version is now pinned centrally).
  • julia ecosystem directories set to /, /docs, /test/extensions (the last has a Project.toml; /test has none and was dropped). github-actions weekly + julia daily groups preserved.

Heads-up

Check names change (e.g. the Downgrade/SpellCheck job names now come from the reusable workflows, and a new Runic check appears). Branch-protection required-status-checks will need updating to match the new check names.

🤖 Generated with Claude Code

ChrisRackauckas and others added 2 commits June 3, 2026 12:29
Convert/ensure CI checks use the centralized SciML/.github reusable
workflows pinned at @v1, with `secrets: "inherit"` on every caller.

Workflow changes:
- Downgrade.yml: inline -> downgrade.yml@v1 (julia-version 1.10,
  skip "Pkg,TOML", allow-reresolve false; preserves prior behavior).
- SpellCheck.yml: inline crate-ci/typos -> spellcheck.yml@v1.
- Runic.yml: ADDED runic.yml@v1 format check (repo previously only had
  format-suggestions-on-pr, no enforcing Runic check). All .jl files
  parse cleanly, so no `exclude:` needed.
- Test.yml: already a tests.yml@v1 caller; unchanged.
- Documentation.yml / TestExtensions.yml: left inline (custom behavior
  the central callers cannot reproduce; see PR notes).

Formatting + spelling:
- Ran Runic in-place across the repo.
- Fixed clear prose typos (typos -w); added `oint` and `Lamba` to
  .typos.toml as domain identifiers (ODEIntegrator var; LambaEM solver).

dependabot.yml:
- Removed the crate-ci/typos ignore (version pinned centrally now).
- julia ecosystem dirs: "/", "/docs", "/test/extensions" (the latter
  has a Project.toml; "/test" has none and was dropped).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Catalyst did not previously run Runic, so adding the centralized Runic
check reformatted the entire repo (~80 files), which is too large to
bundle with the CI migration. Remove the Runic.yml caller and revert the
formatting; Runic adoption can be done as a separate, focused PR.

This PR keeps the rest of the centralization: SpellCheck and Downgrade
callers, dependabot cleanup. Tests.yml/Documentation were already
centralized and are unchanged.

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 4, 2026 08:53
@ChrisRackauckas ChrisRackauckas merged commit 5111190 into SciML:master Jun 4, 2026
14 of 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.

3 participants