From 928e55a7c673f9e20b2f8df0f0a95e2f6e04f6e9 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Tue, 2 Jun 2026 12:53:16 -0400 Subject: [PATCH] Migrate CI to centralized SciML/.github reusable workflows Normalize to the Sundials.jl standard set using the centralized reusable workflows in SciML/.github (pinned @v1): - Tests.yml: replaces CI.yml, calling tests.yml@v1. Reproduces the exact version (1.10, 1.11, 1) x os (ubuntu/macos/windows) matrix. coverage: false (the original CI collected no coverage). The obsolete "develop unregistered SciML dependencies" step is dropped because PureKLU and SparseColumnPivotedQR are now registered in General and instantiate cleanly (verified locally). - FormatCheck.yml: now calls runic.yml@v1. - SpellCheck.yml: now calls spellcheck.yml@v1. - Downgrade.yml: new caller of downgrade.yml@v1 (lts, skip Pkg,TOML). - dependabot.yml: removed the crate-ci/typos ignore block. TagBot.yml unchanged. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/dependabot.yml | 3 --- .github/workflows/CI.yml | 38 ------------------------------- .github/workflows/Downgrade.yml | 26 +++++++++++++++++++++ .github/workflows/FormatCheck.yml | 14 ++++-------- .github/workflows/SpellCheck.yml | 14 ++++-------- .github/workflows/Tests.yml | 33 +++++++++++++++++++++++++++ 6 files changed, 68 insertions(+), 60 deletions(-) delete mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/Downgrade.yml create mode 100644 .github/workflows/Tests.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bac0082..1fb7fba 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,9 +5,6 @@ updates: directory: "/" # Location of package manifests schedule: interval: "weekly" - ignore: - - dependency-name: "crate-ci/typos" - update-types: ["version-update:semver-patch", "version-update:semver-minor"] - package-ecosystem: "julia" directories: - "/" diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml deleted file mode 100644 index 1f7020e..0000000 --- a/.github/workflows/CI.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: CI -on: - push: - branches: - - main - tags: ['*'] - pull_request: -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: ${{ github.event_name == 'pull_request' }} -jobs: - test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: - - '1.10' - - '1.11' - - '1' - os: - - ubuntu-latest - - macos-latest - - windows-latest - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v2 - with: - version: ${{ matrix.version }} - - uses: julia-actions/cache@v2 - # PureKLU and SparseColumnPivotedQR are not yet registered in General; develop them from - # the SciML repos so the dependencies resolve on every Julia version. Remove each once it - # is registered. - - name: Develop unregistered SciML dependencies - run: julia --color=yes --project=. -e 'using Pkg; Pkg.develop([PackageSpec(url="https://github.com/SciML/PureKLU.jl"), PackageSpec(url="https://github.com/SciML/SparseColumnPivotedQR.jl")])' - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml new file mode 100644 index 0000000..02a7990 --- /dev/null +++ b/.github/workflows/Downgrade.yml @@ -0,0 +1,26 @@ +name: "Downgrade" + +on: + pull_request: + branches: + - main + paths-ignore: + - 'docs/**' + push: + branches: + - main + paths-ignore: + - 'docs/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + downgrade: + name: "Downgrade" + uses: "SciML/.github/.github/workflows/downgrade.yml@v1" + with: + julia-version: "lts" + skip: "Pkg,TOML" + secrets: "inherit" diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index d5dc283..968f359 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -1,4 +1,4 @@ -name: format-check +name: "Format Check" on: push: @@ -10,12 +10,6 @@ on: jobs: runic: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v3 - with: - version: '1' - - uses: fredrikekre/runic-action@v1 - with: - version: '1' + name: "Runic" + uses: "SciML/.github/.github/workflows/runic.yml@v1" + secrets: "inherit" diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml index a8e5983..e43e6fd 100644 --- a/.github/workflows/SpellCheck.yml +++ b/.github/workflows/SpellCheck.yml @@ -1,13 +1,9 @@ -name: Spell Check +name: "Spell Check" on: [pull_request] jobs: - typos-check: - name: Spell Check with Typos - runs-on: ubuntu-latest - steps: - - name: Checkout Actions Repository - uses: actions/checkout@v6 - - name: Check spelling - uses: crate-ci/typos@v1.18.0 + spellcheck: + name: "Spell Check" + uses: "SciML/.github/.github/workflows/spellcheck.yml@v1" + secrets: "inherit" diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml new file mode 100644 index 0000000..975aab8 --- /dev/null +++ b/.github/workflows/Tests.yml @@ -0,0 +1,33 @@ +name: "Tests" + +on: + push: + branches: + - main + tags: ['*'] + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + tests: + name: "Tests" + strategy: + fail-fast: false + matrix: + version: + - "1.10" + - "1.11" + - "1" + os: + - "ubuntu-latest" + - "macos-latest" + - "windows-latest" + uses: "SciML/.github/.github/workflows/tests.yml@v1" + with: + julia-version: "${{ matrix.version }}" + os: "${{ matrix.os }}" + coverage: false + secrets: "inherit"