Found by the 2026-07 maintenance pass (#1643). Split out of PR #1645 because these are major bumps and one of them reaches the release-signing path.
Checked against the GitHub releases API (not a search summary) on 2026-07-25:
| Action |
Pinned |
Latest |
Behind |
| actions/checkout |
v5 |
v7 |
2 majors |
| actions/setup-dotnet |
v5 |
v6 |
1 major |
| actions/cache |
v4 |
v6 |
2 majors |
| actions/upload-artifact |
v6 |
v7 |
1 major |
| dorny/paths-filter |
v3 |
v4 |
1 major |
| signpath/github-action-submit-signing-request |
v2 |
v2 |
current |
Used across build.yml, nightly.yml, sql-validation.yml, check-pr-branch.yml, and check-version-bump.yml.
Why this is not a drive-by bump
actions/upload-artifact is not just build plumbing here. Its artifact-id output feeds directly into all six signpath/github-action-submit-signing-request steps in build.yml:
github-artifact-id: '${{ steps.upload-lite.outputs.artifact-id }}'
v7 introduces uploading non-zipped artifacts (the archive parameter). SignPath consumes the uploaded artifact by id and expects a particular artifact shape per its artifact-configuration slugs (Lite, Darling, DarlingViewer). If the artifact format or the id semantics shift, signing breaks — and it breaks at release time, on the release: [published] trigger, which is the worst moment to discover it.
actions/cache v6 also matters for the pg-runtime.zip caching (a ~340MB pinned EDB/TimescaleDB download); a cache-key or restore-behavior change means a slow release build rather than a broken one.
Suggested approach
- Bump the low-risk, build-only ones first and let normal PR CI prove them:
dorny/paths-filter v3 -> v4, actions/cache v4 -> v6, actions/setup-dotnet v5 -> v6, actions/checkout v5 -> v7. All are exercised by every PR run, so a break is immediately visible and contained.
- Handle
actions/upload-artifact v6 -> v7 separately, and validate it against a real signing run before trusting it — the release path is the only place those steps execute. Read the v7 release notes for the archive default and confirm SignPath's expectations before merging.
Note the runner requirement that came with upload-artifact v6 (Node 24, minimum runner 2.327.1). GitHub-hosted windows-latest satisfies this; it would only matter if self-hosted runners are ever introduced.
Found by the 2026-07 maintenance pass (#1643). Split out of PR #1645 because these are major bumps and one of them reaches the release-signing path.
Checked against the GitHub releases API (not a search summary) on 2026-07-25:
Used across
build.yml,nightly.yml,sql-validation.yml,check-pr-branch.yml, andcheck-version-bump.yml.Why this is not a drive-by bump
actions/upload-artifactis not just build plumbing here. Itsartifact-idoutput feeds directly into all sixsignpath/github-action-submit-signing-requeststeps inbuild.yml:v7 introduces uploading non-zipped artifacts (the
archiveparameter). SignPath consumes the uploaded artifact by id and expects a particular artifact shape per its artifact-configuration slugs (Lite,Darling,DarlingViewer). If the artifact format or the id semantics shift, signing breaks — and it breaks at release time, on therelease: [published]trigger, which is the worst moment to discover it.actions/cachev6 also matters for thepg-runtime.zipcaching (a ~340MB pinned EDB/TimescaleDB download); a cache-key or restore-behavior change means a slow release build rather than a broken one.Suggested approach
dorny/paths-filterv3 -> v4,actions/cachev4 -> v6,actions/setup-dotnetv5 -> v6,actions/checkoutv5 -> v7. All are exercised by every PR run, so a break is immediately visible and contained.actions/upload-artifactv6 -> v7 separately, and validate it against a real signing run before trusting it — the release path is the only place those steps execute. Read the v7 release notes for thearchivedefault and confirm SignPath's expectations before merging.Note the runner requirement that came with upload-artifact v6 (Node 24, minimum runner 2.327.1). GitHub-hosted
windows-latestsatisfies this; it would only matter if self-hosted runners are ever introduced.