Skip to content

Centralize CI on SciML reusable workflows#53

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

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

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts all CI to the SciML centralized reusable workflows (pinned @v1, secrets: "inherit" on every caller). Target end-state matches Sundials.jl: Tests, Documentation, Runic, SpellCheck, Downgrade — all via centralized callers.

Converted (inline -> central)

  • Documentation: the inline docs job (julia-buildpkg + julia-docdeploy + standalone doctest) that lived inside Tests.yml is moved out into a new Documentation.yml calling documentation.yml@v1.
  • Runic (FormatCheck.yml): inline fredrikekre/runic-action converted to runic.yml@v1.

Added (new central callers)

  • SpellCheck.yml -> spellcheck.yml@v1 (repo previously had no spellcheck workflow; dependabot referenced typos but no workflow ran it).
  • Downgrade.yml -> downgrade.yml@v1 (julia-version: lts, skip: "Pkg,TOML", group: Core).

Unchanged

  • Tests.yml: already a tests.yml@v1 caller with secrets: "inherit"; matrix (group: [Core, nopre] × version: ['1','lts','pre'] × arch: [x64], excluding pre×nopre) preserved exactly. Only change is removal of the inline docs job.
  • TagBot.yml: untouched.

Cleanup

  • dependabot.yml: removed the crate-ci/typos ignore entry (typos now runs through the centralized spellcheck caller). The github-actions (/, weekly) and julia (/, /docs, /test, daily, group all-julia-packages *) blocks are preserved.

Formatting / typos

  • Runic formatting applied: reformatted ext/FunctionWrappersWrappersEnzymeExt.jl and test/enzyme_tests.jl (multiline signature indentation, operator spacing, trailing whitespace, final newline). The previous inline runic-action was evidently not passing on these files.
  • Typos: 0 fixes needed (typos . exits clean).

Note on doctests

The old inline docs job ran an extra explicit doctest(FunctionWrappersWrappers) step in addition to docdeploy. The centralized documentation.yml@v1 runs docs/make.jl, whose makedocs runs doctests by default — so doctest coverage is preserved. If a separate non-deploy doctest gate is desired, that can be added later.

Heads-up: check names change

Branch-protection required-status-check names will change (jobs now run as reusable-workflow callers). Required checks in branch protection will need updating after merge.

🤖 Generated with Claude Code

Convert all CI to the SciML centralized reusable workflows (pinned @v1,
secrets: inherit on every caller).

- Tests: already a tests.yml@v1 caller (unchanged matrix; secrets already inherit).
  Moved the inline Documentation job out into its own workflow.
- Documentation: new documentation.yml@v1 caller (replaces inline docdeploy job).
- Runic (FormatCheck): convert inline fredrikekre/runic-action to runic.yml@v1.
- SpellCheck: new spellcheck.yml@v1 caller (was previously not present).
- Downgrade: new downgrade.yml@v1 caller (julia-version lts, skip Pkg,TOML, group Core).
- dependabot: remove the crate-ci/typos ignore (typos now runs via centralized caller).
- Apply Runic formatting to ext/ and test/ sources.

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:12
@ChrisRackauckas ChrisRackauckas merged commit 74454b2 into SciML:main Jun 3, 2026
8 of 9 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