Skip to content

Migrate CI to SciML centralized reusable workflows#262

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

Migrate CI to SciML centralized reusable workflows#262
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 CI to the SciML centralized reusable workflows (SciML/.github/.github/workflows/*.yml@v1), matching the Sundials.jl standard set.

Workflows

Converted to centralized callers (@v1):

  • CI.yml -> Tests.ymltests.yml@v1. Preserves the exact name: CI, the push/pull_request triggers with paths-ignore: docs/**, the concurrency block, and the version matrix ['1', 'lts', 'pre']. Coverage stays on (the original collected codecov).
  • Downgrade.ymldowngrade.yml@v1. Preserves julia-version: 1.10, skip: Pkg,TOML, and the disabling if: false (lower compat bounds don't resolve on Julia 1.10).
  • SpellCheck.ymlspellcheck.yml@v1 (was crate-ci/typos, pull_request trigger preserved).

Added (new standard checks):

  • FormatCheck.ymlrunic.yml@v1. The repo did not previously run Runic.

Removed:

  • CompatHelper.yml — replaced by Dependabot's Julia ecosystem updates.

Unchanged:

  • TagBot.yml.

Runic formatting

The repo was previously unformatted (no Runic check). Runic 1.7.0 was run in-place over all 200 parseable tracked .jl files and committed; they now pass runic --check.

Heads-up — the Runic check will be RED. 11 legacy .jl files contain pre-1.0 Julia syntax that Runic (JuliaSyntax) cannot parse, so the centralized check (which runs over all git-tracked .jl files) will fail on them:

  • examples/benchmarking/updatetoplist.jl
  • spikes/benchmarking.jl, spikes/comparing_covariate_selection_schemes.jl, spikes/covar_matrix_adaptation_es.jl, spikes/diversity_guided_mutation.jl, spikes/experiments/gss_initial.jl, spikes/lasso_active_factor_prediction.jl, spikes/parameter_study.jl, spikes/subset_tournament_cmsa_es/subset_tournament_cmsa_es.jl, spikes/test_acd.jl, spikes/test_acd_acf.jl

These are experimental/exploratory files (already excluded from the typos check) using deprecated syntax such as 2.^[2,6] and op = cond ? < : >. Fixing or removing them is a content change beyond CI normalization and is left to the maintainer's discretion. Runic has no exclude mechanism, so the check stays red until these are addressed.

Dependabot

  • Kept the existing github-actions block (weekly).
  • Added a julia block (directory: "/", daily, group all-julia-packages: ["*"]) to preserve compat automation after CompatHelper removal. Only the repo root has a Project.toml (no docs/Project.toml or test/Project.toml).

Spellcheck / typos

typos runs clean locally (exit 0); the existing .typos.toml covers the false positives. No prose was changed.

Branch protection

Check names change (e.g. test -> Tests, plus new Runic Format Check). Branch-protection required-status-checks will need updating.

🤖 Generated with Claude Code

Convert Tests, Downgrade, SpellCheck to centralized callers (@v1), add a
Runic format-check caller, remove CompatHelper in favor of Dependabot's
Julia ecosystem updates, and apply Runic formatting to all parseable
Julia 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 2, 2026 16:51
@ChrisRackauckas ChrisRackauckas merged commit c7c54e3 into SciML:master Jun 2, 2026
3 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