Skip to content

ci: move setup-uv and test-reporter off the Node 20 runtime#13

Open
MacBuchi wants to merge 1 commit into
Mainfrom
ci/node24-uv-testreporter
Open

ci: move setup-uv and test-reporter off the Node 20 runtime#13
MacBuchi wants to merge 1 commit into
Mainfrom
ci/node24-uv-testreporter

Conversation

@MacBuchi

Copy link
Copy Markdown
Owner

Closes #11 — second of two. Stacked on #12; base retargets to Main once that merges. Stacked rather than parallel because these uses: lines sit within three lines of the ones #12 touches, so two independent branches would conflict.

action before after
astral-sh/setup-uv v5 v7
dorny/test-reporter v1 v3

Correction to the issue

Issue #11 names v8 as the setup-uv target. That is wrong: the project publishes floating major tags only up to v7. The v8.x releases exist, but no v8 alias does — @v8 would not resolve at all. v7 is already node24, which is the point of this change.

Breaking changes, and why none of them bite here

I read both changelogs rather than assuming a drop-in swap. Both majors do carry breaking changes; neither touches how this repo uses the action:

setup-uv v6 stopped auto-activating a venv when python-version is set (new activate-environment input, default false), and changed the default cache-dependency-glob, the working-directory handling and the self-hosted cache dir. These workflows pass only enable-cache: true and install Python in a separate uv python install 3.13 step — they never set python-version, activate-environment, working-directory or cache-dependency-glob. v7 additionally removes the deprecated server-url input, also unused here.

test-reporter v3 is the Node 24 bump plus a switch to declaring the lowest permissions it needs. That is the one that could have bitten: the action publishes a check run and needs checks: write. The test job already grants it (ci.yml:42-44), so the report keeps working.

Inputs verified against each target's action.yml: enable-cache (setup-uv v7); name, path, reporter, fail-on-error (test-reporter v3).

Verification

All three workflows parse (YAML.load_file). This PR's CI exercises both actions directly — setup-uv in every job and test-reporter in the test job — so unlike #12 this one is genuinely proven by its own run. Worth checking the run's Checks tab for the "Pytest Results" check run, since fail-on-error: false means a publishing failure would be silent.

🤖 Generated with Claude Code

  astral-sh/setup-uv     v5 -> v7
  dorny/test-reporter    v1 -> v3

Note the target for setup-uv is v7, not v8 as issue #11 claimed: the
project publishes floating major tags only up to v7. The v8.x releases
exist but no v8 alias does, so `@v8` would not resolve. v7 is already
node24, which is what this is about.

Both majors carry breaking changes; neither touches how this repo uses
them:

- setup-uv v6 stopped auto-activating a venv for `python-version` and
  changed the default cache-dependency-glob, the working-directory
  handling and the self-hosted cache dir. The workflows here pass only
  `enable-cache: true` and install Python in a separate `uv python
  install` step, so none of that applies. v7 additionally drops the
  deprecated `server-url` input, also unused.
- test-reporter v3 is the Node 24 bump plus a switch to declaring the
  lowest required permissions. The test job already grants
  `checks: write`, so publishing the check run keeps working.

All four inputs the reporter is given (name, path, reporter,
fail-on-error) still exist in v3, and enable-cache still exists in v7 —
checked against each target's action.yml.

Closes #11

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@MacBuchi
MacBuchi changed the base branch from ci/node24-core-actions to Main July 20, 2026 19:26
@MacBuchi MacBuchi closed this Jul 20, 2026
@MacBuchi MacBuchi reopened this Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: six actions still on the deprecated Node 20 runtime

1 participant