From 5c0292a234bb84c5a22d8be1cf94adec747d296f Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Wed, 3 Jun 2026 12:39:53 -0400 Subject: [PATCH] Centralize CI on SciML reusable workflows Convert all CI to SciML/.github centralized reusable workflows (@v1): - CI.yml: tests + documentation now call tests.yml@v1 and documentation.yml@v1 - FormatCheck.yml: inline fredrikekre/runic-action -> runic.yml@v1 - SpellCheck.yml: new, spellcheck.yml@v1 - Downgrade.yml: new, downgrade.yml@v1 (lts, skip Pkg,TOML) Every caller uses secrets: "inherit". Matrices and triggers preserved. Apply Runic formatting to test/jet_tests.jl. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/CI.yml | 45 ++++++++----------------------- .github/workflows/Downgrade.yml | 18 +++++++++++++ .github/workflows/FormatCheck.yml | 8 ++---- .github/workflows/SpellCheck.yml | 9 +++++++ test/jet_tests.jl | 6 +++-- 5 files changed, 44 insertions(+), 42 deletions(-) create mode 100644 .github/workflows/Downgrade.yml create mode 100644 .github/workflows/SpellCheck.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 8bd75ab..7a9fd17 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -10,8 +10,7 @@ concurrency: cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} strategy: fail-fast: false matrix: @@ -22,37 +21,15 @@ jobs: - ubuntu-latest arch: - x64 - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v2 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - uses: julia-actions/cache@v2 - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v5 - with: - files: lcov.info + uses: "SciML/.github/.github/workflows/tests.yml@v1" + with: + julia-version: ${{ matrix.version }} + julia-arch: ${{ matrix.arch }} + os: ${{ matrix.os }} + secrets: "inherit" docs: name: Documentation - runs-on: ubuntu-latest - permissions: - contents: write - statuses: write - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v2 - with: - version: '1' - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-docdeploy@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: | - julia --project=docs -e ' - using Documenter: DocMeta, doctest - using OrgMaintenanceScripts - DocMeta.setdocmeta!(OrgMaintenanceScripts, :DocTestSetup, :(using OrgMaintenanceScripts); recursive=true) - doctest(OrgMaintenanceScripts)' + uses: "SciML/.github/.github/workflows/documentation.yml@v1" + with: + coverage: false + secrets: "inherit" diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml new file mode 100644 index 0000000..0c8c6c6 --- /dev/null +++ b/.github/workflows/Downgrade.yml @@ -0,0 +1,18 @@ +name: Downgrade +on: + push: + branches: + - main + tags: ['*'] + pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +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 d22e82d..8dad791 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -11,9 +11,5 @@ on: jobs: runic: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - 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 new file mode 100644 index 0000000..1223235 --- /dev/null +++ b/.github/workflows/SpellCheck.yml @@ -0,0 +1,9 @@ +name: Spell Check + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + uses: "SciML/.github/.github/workflows/spellcheck.yml@v1" + secrets: "inherit" diff --git a/test/jet_tests.jl b/test/jet_tests.jl index 7a8f8e7..34d4004 100644 --- a/test/jet_tests.jl +++ b/test/jet_tests.jl @@ -42,7 +42,8 @@ using JET @testset "Version bumping functions" begin # Test bump_minor_version type stability @test_opt target_modules = (OrgMaintenanceScripts,) OrgMaintenanceScripts.bump_minor_version( - "1.0.0") + "1.0.0" + ) end @testset "Struct constructors" begin @@ -59,7 +60,8 @@ using JET checks = OrgMaintenanceScripts.VersionCheck[] # Test the IO method directly for type stability @test_opt target_modules = (OrgMaintenanceScripts,) OrgMaintenanceScripts.print_version_check_summary( - devnull, checks) + devnull, checks + ) mktempdir() do tmpdir output_file = joinpath(tmpdir, "output.jl")