Skip to content

Centralize CI on SciML reusable workflows#275

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:centralize-ci
Jun 3, 2026
Merged

Centralize CI on SciML reusable workflows#275
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:centralize-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts the remaining inline CI jobs to the centralized SciML/.github reusable workflows pinned at @v1, and adds secrets: "inherit" to every caller. Behavior and matrices are preserved.

Converted (inline -> central caller)

  • QA.yml — inline julia-runtest (GROUP=QA, coverage off) -> tests.yml@v1 with group: QA, coverage: false, version matrix ["1"].
  • SelfHosted.yml — inline self-hosted bridge tests (GROUP=Bridge) -> tests.yml@v1 with group: Bridge, self-hosted: true.
  • FormatCheck.yml — inline fredrikekre/runic-action -> runic.yml@v1.
  • SpellCheck.yml — inline crate-ci/typos -> spellcheck.yml@v1.
  • Downgrade.yml — inline downgrade (was if: false) -> downgrade.yml@v1 (julia-version: 1.10, skip: Pkg,TOML); kept if: false (disabled per issue Downgrade CI may need adjustment for Optim extension #245).
  • Downstream.yml (IntegrationTest) — inline matrix -> matrix of downstream.yml@v1 callers, preserving the exact package+group list (StochasticDiffEq.jl Interface/Interface2/Interface3, SciMLSensitivity.jl SDE1/SDE2/SDE3).

Already central (left as-is)

  • Tests.yml — already tests.yml@v1 (secrets: inherit, versions ["1","lts","pre"]).
  • Documentation.yml — already documentation.yml@v1.
  • TagBot.yml — unchanged.

Other changes

  • dependabot.yml — removed the crate-ci/typos version-ignore; pointed the julia ecosystem at dirs that actually contain a Project.toml (/, /docs, /test/qa; dropped the non-manifest /test). github-actions block kept (weekly, /).
  • .typos.toml — allowlisted indx, which is a public keyword-argument name in src/pCN.jl (80 occurrences). Not a prose typo; renaming would break the API.

Notes / caveats

  • Runic: no formatting changes were needed (repo was already Runic-clean).
  • Typos fixed: 0 prose fixes; the only finding (indx) is an identifier and was allowlisted.
  • SelfHosted: the original job set JULIA_NUM_THREADS: auto and timeout-minutes: 120; these are not exposed as tests.yml@v1 inputs, so they are dropped. Coverage in the original used fail_ci_if_error: false; the central caller manages coverage itself.
  • QA: the central tests.yml@v1 runs julia-buildpkg before tests, which the old inline QA job did not; harmless (QA uses a separate test/qa env).
  • Check names will change (e.g. jobs now run as reusable-workflow calls). Branch-protection required-status-check names will need updating after merge.

🤖 Generated with Claude Code

Convert inline CI jobs to the centralized SciML/.github reusable
workflows (@v1) and add `secrets: "inherit"` to every caller.

- QA.yml: inline julia-runtest (GROUP=QA) -> tests.yml@v1 (group QA, coverage off)
- SelfHosted.yml: inline self-hosted bridge tests -> tests.yml@v1 (group Bridge, self-hosted)
- FormatCheck.yml: inline fredrikekre/runic-action -> runic.yml@v1
- SpellCheck.yml: inline crate-ci/typos -> spellcheck.yml@v1
- Downgrade.yml: inline downgrade (disabled, if:false) -> downgrade.yml@v1 (kept disabled)
- Downstream.yml: inline IntegrationTest matrix -> matrix of downstream.yml@v1 callers

Tests.yml and Documentation.yml were already central callers (left as-is).

dependabot.yml: drop crate-ci/typos ignore; point julia updates at dirs
that actually have a Project.toml (/, /docs, /test/qa).

.typos.toml: allowlist `indx` (a public keyword-argument name in src/pCN.jl).

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 3, 2026 18:19
@ChrisRackauckas ChrisRackauckas merged commit a1d6281 into SciML:master Jun 3, 2026
12 of 15 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