From 163b28592e7cd5b8cbecd4aab69cd287c5b7fb8d Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Tue, 2 Jun 2026 12:49:02 -0400 Subject: [PATCH] Migrate CI to centralized SciML reusable workflows Convert Tests, Documentation, format-check (Runic), Spell Check, and Downgrade workflows to call the centralized reusable workflows in SciML/.github (pinned @v1). Behavior and test matrices are preserved. - Tests.yml: matrix of tests.yml@v1 callers (version x group, QA excluded on lts); non-standard Enzyme job kept as-is (separate test/enzyme env). - Documentation.yml: documentation.yml@v1 caller (debug-documenter: true). - Downgrade.yml: downgrade.yml@v1 caller, kept disabled (if: false), julia-version 1.10, skip Pkg,TOML, allow-reresolve false. - FormatCheck.yml: runic.yml@v1 caller (already ran Runic; repo formatted). - SpellCheck.yml: spellcheck.yml@v1 caller. - dependabot.yml: removed crate-ci/typos ignore block; added /test/enzyme to the julia directories list. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/dependabot.yml | 4 +--- .github/workflows/Documentation.yml | 29 ++++------------------------ .github/workflows/Downgrade.yml | 23 ++++++---------------- .github/workflows/FormatCheck.yml | 11 ++--------- .github/workflows/SpellCheck.yml | 9 ++------- .github/workflows/Tests.yml | 30 +++++++++-------------------- 6 files changed, 24 insertions(+), 82 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index cd7b7f2..4c77c4a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,14 +5,12 @@ 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: - "/" - "/docs" - "/test" + - "/test/enzyme" schedule: interval: "daily" groups: diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml index bd75221..20d2cb3 100644 --- a/.github/workflows/Documentation.yml +++ b/.github/workflows/Documentation.yml @@ -11,28 +11,7 @@ on: jobs: build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@latest - with: - version: '1' - - name: Install dependencies - run: | - import Pkg - Pkg.Registry.update() - Pkg.develop(Pkg.PackageSpec(path=pwd())) - Pkg.instantiate() - shell: julia --color=yes --project=docs/ {0} - - name: Build and deploy - env: - JULIA_DEBUG: "Documenter" - 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 --color=yes docs/make.jl - - uses: julia-actions/julia-processcoverage@v1 - - 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: + debug-documenter: true + secrets: "inherit" diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 8e9686f..ab73da5 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -13,20 +13,9 @@ on: jobs: test: if: false - runs-on: ubuntu-latest - strategy: - matrix: - downgrade_mode: ['alldeps'] - julia-version: ['1.10'] - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v2 - with: - version: ${{ matrix.julia-version }} - - uses: julia-actions/julia-downgrade-compat@v2 - with: - skip: Pkg,TOML - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - with: - ALLOW_RERESOLVE: false \ No newline at end of file + uses: "SciML/.github/.github/workflows/downgrade.yml@v1" + with: + julia-version: "1.10" + skip: "Pkg,TOML" + allow-reresolve: false + secrets: "inherit" diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index 6253546..8dad791 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -11,12 +11,5 @@ on: jobs: runic: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v2 - 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 794fed2..434bc76 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.26.0 + uses: "SciML/.github/.github/workflows/spellcheck.yml@v1" + secrets: "inherit" diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml index d0d615d..9a736ac 100644 --- a/.github/workflows/Tests.yml +++ b/.github/workflows/Tests.yml @@ -18,38 +18,26 @@ concurrency: jobs: tests: - name: "${{ matrix.group }} - Julia ${{ matrix.version }}" - runs-on: ubuntu-latest + name: "Tests" strategy: fail-fast: false matrix: version: - - '1' - - 'lts' + - "1" + - "lts" group: - Core - LineSearchesJL - QA exclude: # QA tests only run on latest stable Julia - - version: 'lts' + - version: "lts" group: QA - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v2 - with: - version: ${{ matrix.version }} - - uses: julia-actions/cache@v3 - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - env: - GROUP: ${{ matrix.group }} - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v6 - with: - files: lcov.info - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: false + uses: "SciML/.github/.github/workflows/tests.yml@v1" + with: + julia-version: "${{ matrix.version }}" + group: "${{ matrix.group }}" + secrets: "inherit" enzyme: name: "Enzyme Tests"