From c77977eff25eead83a267c7540eeca9f46fcfb9b Mon Sep 17 00:00:00 2001 From: Guangyang Li Date: Wed, 16 Sep 2026 23:05:36 -0400 Subject: [PATCH] `test.yml` pinned the same actions at two different versions depending on the job: | job | checkout | setup-python | upload-artifact | |---|---|---|---| | `test`, `lint`, `build` | v7 | v7 | v7 | | `deprecations`, `matplotlib-prerelease`, `images`, `examples` | **v4** | **v5** | **v4** | Not deliberate. The Dependabot PRs (#39 to #43) bumped the jobs that existed when they ran, and the four jobs added afterwards were written against the versions that were current at the time. It matters a little beyond tidiness: the four stale jobs are the ones running the suite against matplotlib pre-releases, comparing images, and executing the demo notebook. Having them on an older runner action is the opposite of what you want from jobs whose whole purpose is early warning. It also leaves Dependabot with stale pins to keep re-reporting. ## Change Nine lines, all version pins, no logic touched. Everything now matches what the repository already trusts elsewhere: `checkout@v7`, `setup-python@v7`, `upload-artifact@v7`, `download-artifact@v8`. `codecov/codecov-action@v6` is untouched, being third-party and already consistent. Verified both workflow files still parse and the job sets are unchanged: ``` test.yml: build, deprecations, examples, images, lint, matplotlib-prerelease, test publish.yml: build, publish ``` CI running green on this PR is itself the check that the bumped actions work. BODY gh pr create --base master --head ci/align-action-versions --title 'Align the GitHub Action versions across jobs' --body-file /tmp/pr74body.md 2>&1 | tail -1 Align the GitHub Action versions across jobs test.yml pinned the same actions at two different versions depending on the job: the test, lint and build jobs on checkout@v7 and setup-python@v7, and the deprecations, matplotlib-prerelease, images and examples jobs on v4 and v5. Not deliberate. The Dependabot PRs bumped the jobs that existed when they ran, and the four jobs added afterwards were written against what was current then. The stale four are the jobs running against matplotlib pre-releases, comparing images and executing the demo notebook, so they are the ones that should not be on an older runner action. It also leaves Dependabot stale pins to keep re-reporting. Nine version pins, no logic changed. --- .github/workflows/test.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 41a933e..800c369 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -54,8 +54,8 @@ jobs: # the job, which is what a job-level continue-on-error would have hidden. runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v7 with: python-version: "3.12" - run: pip install -e ".[icons]" pytest pandas @@ -87,8 +87,8 @@ jobs: # here means the pre-release changed something rather than that this job is misconfigured. runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v7 with: python-version: "3.12" - run: pip install -e ".[icons]" pytest pandas @@ -133,8 +133,8 @@ jobs: # The uploaded summary shows which images differ and by how much when one fails. runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v7 with: python-version: "3.12" - run: pip install -e ".[icons]" pytest pytest-mpl @@ -145,7 +145,7 @@ jobs: pytest tests/test_images.py --mpl --mpl-generate-summary=html --mpl-results-path=image-results - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 if: always() with: name: image-comparison-results @@ -158,8 +158,8 @@ jobs: # still passes. runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v7 with: python-version: "3.12" - run: pip install -e ".[icons]" pandas nbconvert nbformat ipykernel