ci: route CI through SciML/.github reusable workflows (@v1) - #495
Merged
ChrisRackauckas merged 1 commit intoJun 4, 2026
Merged
Conversation
Convert bespoke GitHub Actions workflows into thin callers of the SciML/.github reusable workflows, preserving the repo's matrices, triggers, and config. - Consolidate the six per-sublibrary CI_BoundaryValueDiffEq*.yml workflows into a single SublibraryCI.yml calling sublibrary-tests.yml@v1 (auto-discovers lib/*). - DowngradeSublibraries.yml -> sublibrary-downgrade.yml@v1 (kept disabled per SciML#417). - Downgrade.yml -> downgrade.yml@v1, Downstream.yml -> downstream.yml@v1, Documentation.yml -> documentation.yml@v1, FormatCheck.yml -> runic.yml@v1, SpellCheck.yml -> spellcheck.yml@v1, BenchmarkPR.yml -> benchmark.yml@v1. - Left bespoke: CI_BoundaryValueDiffEq.yml (main-package tests need an explicit Pkg.develop of lib/* path-sources on the lts/1.10 matrix entry, which the reusable tests.yml cannot express since [sources] is Julia >= 1.11 only), QA.yml (JET/QA harness with no reusable), TagBot.yml. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Member
Author
|
Follow-up fix for a coverage drop introduced by this PR: #496. The consolidated |
Contributor
Benchmark ResultsClick to check benchmark results
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Centralize CI via SciML/.github reusable workflows (
@v1)This routes BoundaryValueDiffEq.jl's bespoke GitHub Actions workflows through the shared reusable workflows in
SciML/.github, preserving the repo's existing matrices, triggers (master,paths/paths-ignore), concurrency, downstream package list, downgrade skip list, and the disabled state of the sublibrary downgrade job.Converted workflows
SciML/.github/.github/workflows/...@v1)SublibraryCI.yml(new)CI_BoundaryValueDiffEq*.yml(Core, Ascher, FIRK, MIRK, MIRKN, Shooting)sublibrary-tests.yml@v1— auto-discoverslib/*, replaces all sixDowngradeSublibraries.ymlif: false, #417)sublibrary-downgrade.yml@v1(kept disabled;julia-version: 1.11,skip: Pkg,TOML,allow-reresolve: false)Downgrade.ymldowngrade.yml@v1(julia-version: 1.11,skip: Pkg,TOML,allow-reresolve: false)Downstream.ymldownstream.yml@v1(owner: SciML,repo: ModelingToolkit.jl,group: All,julia-version: 1.11)Documentation.ymldocumentation.yml@v1(secrets: inherit)FormatCheck.ymlfredrikekre/runic-actionrunic.yml@v1SpellCheck.ymlcrate-ci/typosspellcheck.yml@v1BenchmarkPR.ymlbenchmark.yml@v1(julia-version: 1.11)Consolidation of per-sublibrary CI
The six
CI_BoundaryValueDiffEq*.ymlfiles eachdev-edlib/BoundaryValueDiffEqCore(and ran the sublibrary's own test project) on1.11+lts. These are replaced by oneSublibraryCI.ymlcallingsublibrary-tests.yml@v1, which auto-discovers everylib/<name>/Project.toml, computes the affected-sublibrary set from the internal dependency graph, and develops local path-source deps for Julia < 1.11.Note:
sublibrary-tests.yml@v1reads per-sublibrary group/version config fromlib/<name>/test/test_groups.toml(defaulting toCore/QAgroups if absent). This repo does not yet have those files, so each sublibrary will run with the default group matrix. Addingtest_groups.tomlto eachlib/<name>/test/is a follow-up the maintainer can do to restore custom per-lib groups (e.g. FIRK'sEXPANDED/NESTED).Intentionally left bespoke
CI_BoundaryValueDiffEq.yml(main-package tests) — runs on1.11andlts(Julia 1.10) and explicitlyPkg.develops all sixlib/*path-sources beforePkg.test().[sources]auto-development is a Julia ≥ 1.11 feature, so on theltsmatrix entry the sublibs must bedev-ed manually. The reusabletests.yml@v1has no hook to develop path-source deps, so converting it would break theltsjob. Left as-is to avoid dropping coverage.QA.yml— runstest/qa/runtests.jlagainst a dedicatedtest/qaproject (JET/Aqua-style QA harness). No reusable expresses this.TagBot.yml— TagBot automation (main package + per-subpackagesubdir); not CI, left local per convention.The reusable workflows emit different job names than the old bespoke jobs, so branch protection required-status-check names must be updated after merge. Notable changes:
CI (BoundaryValueDiffEq<Sub>)checks are replaced by thesublibrary-tests.ymldynamic-matrix jobs underSublibrary CI.Downgrade/IntegrationTest/Documentation/format-check/Spell Check/ benchmark job names now come from the reusable workflows (e.g. "Downgrade Tests", "Downstream Tests - All", "Build and Deploy Documentation", "Runic Format Check", "Spell Check with Typos", "Benchmarks").Please update branch protection to match the new check names once this is reviewed.
Please ignore until reviewed by @ChrisRackauckas.