The v0.1.0 release run of .github/workflows/release.yml succeeded, but surfaced two non-blocking warnings worth cleaning up.
1. Deprecated Node 20 actions
actions/upload-artifact@v4 (in build) and actions/download-artifact@v4 (in publish-to-pypi and github-release) target Node.js 20, which GitHub is deprecating; they are currently force-run on Node 24.
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4 / actions/download-artifact@v4
Fix: bump to actions/upload-artifact@v5 and actions/download-artifact@v5.
2. setup-uv cache glob finds no files
In publish-to-pypi, astral-sh/setup-uv runs without a checkout, so its cache-dependency glob matches nothing:
No file matched to [...pyproject.toml, ...uv.lock, ...]. The cache will never get invalidated.
Fix: disable caching for that step (e.g. enable-cache: false), since uv publish does not need a resolved-dependency cache. Harmless otherwise.
Notes
- Both are warnings only; the release pipeline works (0.1.0 published to PyPI + a GitHub Release).
actions/checkout@v6 and the SHA-pinned astral-sh/setup-uv did not warn.
The
v0.1.0release run of.github/workflows/release.ymlsucceeded, but surfaced two non-blocking warnings worth cleaning up.1. Deprecated Node 20 actions
actions/upload-artifact@v4(inbuild) andactions/download-artifact@v4(inpublish-to-pypiandgithub-release) target Node.js 20, which GitHub is deprecating; they are currently force-run on Node 24.Fix: bump to
actions/upload-artifact@v5andactions/download-artifact@v5.2. setup-uv cache glob finds no files
In
publish-to-pypi,astral-sh/setup-uvruns without a checkout, so its cache-dependency glob matches nothing:Fix: disable caching for that step (e.g.
enable-cache: false), sinceuv publishdoes not need a resolved-dependency cache. Harmless otherwise.Notes
actions/checkout@v6and the SHA-pinnedastral-sh/setup-uvdid not warn.