Harden GitHub Actions workflows#58
Conversation
Pin all actions to commit SHAs, gate the gcp-lab label trigger on the labeling actor repo permission, validate the release version input before shell interpolation, add concurrency groups to ci/eval/release, add a CI job timeout, and drop the dead pull_request guard in emulator.yml. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Reviewed against latest Current blocker: the PR conflicts in Code review notes:
Because this touches release and cloud-lab workflows, please rerun/verify the workflow-specific cases after conflict resolution: normal CI, |
|
Closing this as superseded by current main plus later GCP/release workflow work. A rebase is not the right move here anymore:
Replacement work should be split from latest main instead of preserving this diff:
No branch deletion here; this remains useful as historical reference. |
Summary
# vX.Y.Zcomments): checkout v4.3.1, setup-java v4.8.0, setup-node v4.4.0, upload-artifact v4.6.2, setup-android v3.2.2, gcp auth v2.1.13, setup-gcloud v2.2.1, action-gh-release v2.6.2.pull_request_target: labeledpath now verifies the label was applied by an actor with admin/maintain/write permission (viagh api .../collaborators/<actor>/permission) before doing anything else.release-${{ inputs.version }}concurrency group (queued, never cancelled) and validateinputs.versionagainst^v?[0-9]+\.[0-9]+\.[0-9]+([-.][A-Za-z0-9.-]+)?$as the first step of every job that interpolates it into shell.ci-${{ github.ref }}concurrency (cancel-in-progress except on main/master) and a 60-minute job timeout.github.event_name != 'pull_request'guard (the workflow only triggers on push and workflow_dispatch).Test plan
run-gcp-lablabel as a maintainer and confirm the GCP lab run proceedsv0.0.1) and confirm it passes1.0; rm -rf) and confirm the validation step fails🤖 Generated with Claude Code