From 3d8c360f8a546c276d37ee451f0b1a30fe062c97 Mon Sep 17 00:00:00 2001 From: Ben Shaw Date: Tue, 9 Jun 2026 19:00:37 +1200 Subject: [PATCH] ci: Bump GitHub Actions off deprecated Node 20 Node 20 actions are forced off on 2026-06-16 and removed 2026-09-16. Bump to the current Node 24 moving major tags across CI and release workflows: - actions/checkout v4 -> v6 - astral-sh/setup-uv v5 -> v7 (v7 is the highest moving major tag and already runs on Node 24; no floating v8 tag exists yet) - actions/upload-artifact v4 -> v7 - actions/download-artifact v4 -> v8 Inputs in use (enable-cache, name, path, retention-days) are unchanged across these majors. pypa/gh-action-pypi-publish stays on its maintained release/v1 floating tag (already on a supported Node). Each runtime verified via runs.using in the action.yml at the pinned tag. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/ci.yml | 20 ++++++++++---------- .github/workflows/release-testpypi.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66c70c5..c26ffe3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,10 +15,10 @@ jobs: name: Lint (ruff) runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -38,10 +38,10 @@ jobs: name: Typecheck (mypy) runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -62,10 +62,10 @@ jobs: matrix: python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -87,7 +87,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: test-results-py${{ matrix.python-version }} path: | @@ -99,10 +99,10 @@ jobs: name: Docs (sphinx) runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -117,7 +117,7 @@ jobs: - name: Upload built docs if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: docs-html path: docs/_build/html diff --git a/.github/workflows/release-testpypi.yml b/.github/workflows/release-testpypi.yml index 4935a55..4c22015 100644 --- a/.github/workflows/release-testpypi.yml +++ b/.github/workflows/release-testpypi.yml @@ -8,10 +8,10 @@ jobs: name: Build sdist and wheel runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -31,7 +31,7 @@ jobs: run: uvx twine check dist/* - name: Upload distributions - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: dist-testpypi path: dist/ @@ -49,7 +49,7 @@ jobs: contents: read steps: - name: Download distributions - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: dist-testpypi path: dist/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4dc2ecb..4e9ffc5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,10 +10,10 @@ jobs: name: Build sdist and wheel runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -35,7 +35,7 @@ jobs: run: uv build - name: Upload distributions - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: dist path: dist/ @@ -53,7 +53,7 @@ jobs: contents: read steps: - name: Download distributions - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: dist path: dist/