ci: route CI through SciML/.github reusable workflows (@v1)#191
Merged
ChrisRackauckas merged 1 commit intoJun 4, 2026
Merged
Conversation
Centralize this monorepo's GitHub Actions onto the shared SciML/.github reusable workflows, preserving the existing config and coverage. - CI.yml (Tests): drop the manual project matrix that listed `.` plus each lib/* sublibrary; now a clean main-package caller of tests.yml@v1 over the existing version matrix ["1","lts"]. Per-sublibrary testing moves to SublibraryCI.yml below. - SublibraryCI.yml (new): consolidates the per-sublibrary entries into a single caller of sublibrary-tests.yml@v1, which auto-discovers lib/*. - FormatCheck.yml: bespoke fredrikekre/runic-action -> runic.yml@v1. - SpellCheck.yml: bespoke crate-ci/typos -> spellcheck.yml@v1. Left bespoke/untouched: Downgrade.yml (already uses downgrade.yml@v1), TagBot.yml (non-CI automation, no reusable). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
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.
Centralizes this monorepo's GitHub Actions onto the shared
SciML/.githubreusable workflows (@v1), preserving the repo's existing config (version matrix, default branchmaster, triggers, paths-ignore, concurrency) and dropping no CI coverage.Converted / consolidated workflows
CI.yml(Tests)tests.yml@v1with a manualproject:matrix listing.+ all 7lib/*sublibraries, over version["1","lts"]tests.yml@v1over version["1","lts"](project.only)SublibraryCI.ymlsublibrary-tests.yml@v1— auto-discoverslib/*, replacing the per-sublibraryproject:entries that used to live inCI.ymlFormatCheck.ymlfredrikekre/runic-action@v1runic.yml@v1SpellCheck.ymlcrate-ci/typosspellcheck.yml@v1Sublibrary handling (monorepo)
This repo is a real monorepo: each of the 7
lib/<name>/dirs has its ownProject.tomlandtest/runtests.jl. The oldCI.ymltested them by enumerating them in aproject:matrix ontests.yml. That per-sublibrary CI is now consolidated into a singleSublibraryCI.ymlcallingsublibrary-tests.yml@v1, which auto-discoverslib/*and runs only the sublibraries affected by a change.CI.ymlis now reserved for the top-levelDiffEqProblemLibrarypackage itself.Note:
sublibrary-tests.yml@v1reads optional per-sublibrary config fromlib/<name>/test/test_groups.toml. None exist here, so the reusable's defaults apply. The draft PR's own CI run will exercise this.Intentionally left bespoke / untouched
Downgrade.yml— already a thin caller ofdowngrade.yml@v1(julia1.10, skipPkg,TOML). Already reusable, so untouched. NoDowngradeSublibraries.ymlexisted, so none was created (no existing sublibrary-downgrade coverage to preserve).TagBot.yml— non-CI release automation (JuliaRegistries/TagBot); no reusable equivalent. Left local.NOTE: required-status-check names change
Routing through the reusables changes the job names that appear as status checks, so branch protection on
mastermust be updated:Testsjob names now come fromtests.yml@v1/sublibrary-tests.yml@v1reusable jobs.runic.yml@v1/spellcheck.yml@v1.Update the required-status-check list accordingly after merge, or required checks will appear "expected" forever.
Please ignore until reviewed by @ChrisRackauckas.