From edb10bd49f0ddec803dee7d5aad4b5139d5c4eb9 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Sun, 31 May 2026 10:31:15 -0400 Subject: [PATCH] Migrate CI to centralized SciML reusable workflows Convert the repository's GitHub Actions workflows to call the centralized reusable workflows in SciML/.github (pinned to @v1), preserving the existing triggers, matrices, and coverage behavior. - CI.yml: caller of tests.yml@v1, reproducing the full group(Core/AD/nopre) x version(1/lts/pre) matrix with the existing exclude entries. Coverage left at default (src,ext), matching the original codecov collection. - Documentation.yml: caller of documentation.yml@v1 with coverage: true and coverage-directories: src to match the original --code-coverage=user build (which only processed src). - Downgrade.yml: caller of downgrade.yml@v1 preserving group=Core, julia-version=1.10, skip=Pkg,TOML, projects=., allow-reresolve=false. - FormatCheck.yml: replace the runic-action steps with a caller of runic.yml@v1. - SpellCheck.yml: replace the crate-ci/typos step with a caller of spellcheck.yml@v1. - dependabot.yml: remove the crate-ci/typos ignore block (typos is now pinned in the centralized spellcheck workflow); preserve the existing julia block and the github-actions block. - TagBot.yml: unchanged. No CompatHelper.yml exists, so none was removed. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/dependabot.yml | 3 --- .github/workflows/CI.yml | 33 +++++------------------------ .github/workflows/Documentation.yml | 26 +++++------------------ .github/workflows/Downgrade.yml | 25 +++++++--------------- .github/workflows/FormatCheck.yml | 11 ++-------- .github/workflows/SpellCheck.yml | 9 ++------ 6 files changed, 22 insertions(+), 85 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index cd7b7f24..f901dd8a 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 index 11d45929..5219375e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -12,7 +12,6 @@ on: - 'docs/**' jobs: test: - runs-on: ubuntu-latest strategy: fail-fast: false matrix: @@ -33,30 +32,8 @@ jobs: # nopre tests (JET) should not run on pre-release or LTS Julia versions - group: nopre version: 'pre' - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v3 - with: - version: ${{ matrix.version }} - - uses: actions/cache@v5 - env: - cache-name: cache-artifacts - with: - path: ~/.julia/artifacts - key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} - restore-keys: | - ${{ runner.os }}-test-${{ env.cache-name }}- - ${{ runner.os }}-test- - ${{ runner.os }}- - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - env: - GROUP: ${{ matrix.group }} - - uses: julia-actions/julia-processcoverage@v1 - with: - directories: src,ext - - uses: codecov/codecov-action@v6 - with: - files: lcov.info - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true + uses: "SciML/.github/.github/workflows/tests.yml@v1" + with: + julia-version: "${{ matrix.version }}" + group: "${{ matrix.group }}" + secrets: "inherit" diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml index 98d5e937..3c30169b 100644 --- a/.github/workflows/Documentation.yml +++ b/.github/workflows/Documentation.yml @@ -10,24 +10,8 @@ on: jobs: build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@latest - with: - version: 'lts' - - name: Install dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - - name: Build and deploy - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key - run: julia --project=docs/ --code-coverage=user docs/make.jl - - uses: julia-actions/julia-processcoverage@v1 - with: - directories: src - - uses: codecov/codecov-action@v6 - with: - files: lcov.info - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true + uses: "SciML/.github/.github/workflows/documentation.yml@v1" + with: + coverage: true + coverage-directories: "src" + secrets: "inherit" diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 8b68dd4b..2d85e41d 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -12,25 +12,16 @@ on: - 'docs/**' jobs: test: - runs-on: ubuntu-latest strategy: matrix: group: - Core - downgrade_mode: ['alldeps'] julia-version: ['1.10'] - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v3 - with: - version: ${{ matrix.julia-version }} - - uses: julia-actions/julia-downgrade-compat@v2 -# if: ${{ matrix.version == '1.6' }} - with: - skip: Pkg,TOML - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - with: - ALLOW_RERESOLVE: false - env: - GROUP: ${{ matrix.group }} + uses: "SciML/.github/.github/workflows/downgrade.yml@v1" + with: + julia-version: "${{ matrix.julia-version }}" + group: "${{ matrix.group }}" + skip: "Pkg,TOML" + projects: "." + allow-reresolve: false + secrets: "inherit" diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index bda9da8f..364a9cda 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -10,12 +10,5 @@ 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' + uses: "SciML/.github/.github/workflows/runic.yml@v1" + secrets: "inherit" diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml index 746b039a..434bc767 100644 --- a/.github/workflows/SpellCheck.yml +++ b/.github/workflows/SpellCheck.yml @@ -4,10 +4,5 @@ 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 \ No newline at end of file + uses: "SciML/.github/.github/workflows/spellcheck.yml@v1" + secrets: "inherit"