Skip to content

ci: bump setup-uv v6 → v8 (silences last Node 20 annotation)#6

Merged
KI7MT merged 3 commits into
mainfrom
ci/setup-uv-v8
May 10, 2026
Merged

ci: bump setup-uv v6 → v8 (silences last Node 20 annotation)#6
KI7MT merged 3 commits into
mainfrom
ci/setup-uv-v8

Conversation

@KI7MT

@KI7MT KI7MT commented May 10, 2026

Copy link
Copy Markdown
Owner

Summary

Bumps `astral-sh/setup-uv` from v6 to v8.1.0. v8 declares `using: "node24"` natively, so the FYI annotation that's trailed every CI run since v0.3.7 stops firing.

Type of change

  • Tests / CI
  • Build / packaging (version 0.3.10 → 0.3.11)

Notes

The `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true` env var stays in place defensively — covers any future action we add that's still on Node 20. Workflow comment updated.

Checklist

  • No code changes (workflow + version bump only)

KI7MT added 3 commits May 10, 2026 00:32
setup-uv@v8.1.0 (released 2026-04-16) declares `using: "node24"`
directly in its action manifest — no FORCE_JAVASCRIPT_ACTIONS_TO_NODE24
override needed. Silences the last informational annotation that has
trailed every CI run since v0.3.7:

  Node.js 20 is deprecated. The following actions target Node.js 20
  but are being forced to run on Node.js 24: astral-sh/setup-uv@v6.

The escape-hatch env var stays in place defensively — costs nothing
and would catch any future action we add that's still on Node 20.
Comment in the workflow updated to reflect that it's no longer
necessary for any currently-pinned action.
The first attempt at v0.3.11 used @v8, which failed every cell with
'Unable to resolve action astral-sh/setup-uv@v8, unable to find
version v8' — Astral has only published point releases v8.0.0 and
v8.1.0, no moving @v8 tag.

Both v7.6.0 (latest @v7) and v8.0.0+ already declare `using: "node24"`
natively, so pinning to @v7 silences the deprecation annotation just
as effectively as @v8 would. @v7 is also the safer pin until Astral
ships the @v8 alias — moving major tags get point-release auto-bumps
without surprises.

Comment in the workflow notes the situation so the next person
reading it knows when to revisit.
Two follow-ups from the v0.3.11 first run:

(1) golangci-lint-action @v8 still on Node 20
    @v9 declares `using: "node24"`. v9.2.0 is the current point
    release. Bumping silences the last remaining Node 20 deprecation
    annotation.

(2) Cache key collisions across parallel pytest cells
    Six pytest jobs (3.10/3.11/3.12/3.13 on Linux + macOS-3.12 +
    Windows-3.12) all tried to write the same uv cache key, racing
    each other. Only one wins, the rest emit a "cache may already be
    reserved" warning. Functional but noisy.

    Fix: cache-suffix differentiated per matrix cell using
    ${{ matrix.os }}-py${{ matrix.python }} for the python job. The
    lint job isn't a matrix job, so it gets a fixed `lint` suffix.

    Cache hit ratio drops slightly (each cell warms its own cache
    independently) but warnings disappear and parallel jobs stop
    racing. Acceptable trade.
@KI7MT
KI7MT merged commit 733c929 into main May 10, 2026
12 checks passed
@KI7MT
KI7MT deleted the ci/setup-uv-v8 branch May 10, 2026 00:41
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.

1 participant