mirror of
https://github.com/cloudflare/vinext.git
synced 2026-05-09 08:25:34 +02:00
[PR #826] [MERGED] chore: Harden CI supply chain #878
Labels
No labels
enhancement
enhancement
good first issue
help wanted
nextjs-tracking
nextjs-tracking
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/vinext#878
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/cloudflare/vinext/pull/826
Author: @erezrokah
Created: 4/12/2026
Status: ✅ Merged
Merged: 4/13/2026
Merged by: @james-elicx
Base:
main← Head:claude/determined-jemison📝 Commits (2)
ac7e00bchore: harden CI supply chain07f872cpull setup-vp into setup action📊 Changes
11 files changed (+43 additions, -21 deletions)
View changed files
➕
.github/actions/setup/action.yml(+25 -0)📝
.github/workflows/benchmarks.yml(+1 -1)📝
.github/workflows/bigbonk.yml(+1 -2)📝
.github/workflows/bonk.yml(+1 -2)📝
.github/workflows/ci.yml(+7 -7)📝
.github/workflows/deploy-examples.yml(+1 -1)📝
.github/workflows/ecosystem-run.yml(+1 -1)📝
.github/workflows/nextjs-tracker.yml(+1 -2)📝
.github/workflows/preview-release.yml(+2 -2)📝
.github/workflows/publish.yml(+1 -1)📝
.github/workflows/tip.yml(+2 -2)📄 Description
Summary
Pin
voidzero-dev/setup-vpto commit SHA, and pincreate-next-appandpkg-pr-newto exact versions in CI workflows.Changes Made
voidzero-dev/setup-vp@v1→voidzero-dev/setup-vp@237a7eda...across all 10 workflow filesci.yml:create-next-app@latest→create-next-app@16.2.3preview-release.yml:pkg-pr-new→pkg-pr-new@0.0.66Recommendations
.github/dependabot.ymlwithcooldownsetting andgithub-actionsecosystem to track action version updates automaticallypackage-lock.jsonforbenchmarks/nextjs/and switchnpm install→npm ciinbenchmarks.ymlto enforce reproducible CI installs (currently gitignored — check if intentional)npm installcommands inecosystem-run.ymlwhere feasible (line 80, line 88, line 101 install into cloned third-party repos)Why this matters — real-world supply chain attacks
GitHub Actions
Mutable tags and branches in GitHub Actions have been exploited in multiple incidents:
Pinning to SHA digests makes these attacks impossible — a commit hash is immutable.
Package registries
Unpinned package installs in CI are vulnerable to registry compromises:
Using lockfiles with
npm ciand pinningdlxversions prevents CI from silently pulling compromised releases.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.