This is the #92 Phase 1 item "gate both preview actions' CLI installs on pull_request". #92 handed it to #105, but #105 closed on 2026-09-24 (shipped in v0.12.0) without it, so nothing tracked it.
What's wrong. On main @ 64aeb2f:
- Both
Install … CLI steps (preview-netlify/action.yml:56-58, preview-cloudflare/action.yml:68-70) run on if: steps.check-trust.outputs.skip != 'true' alone.
- The deploy steps they feed (
preview-netlify/action.yml:92-95, and the matching step in preview-cloudflare) also require github.event_name == 'pull_request'.
So a workflow_dispatch run, which both current consumers allow, spends time on npm ci of the pinned CLI and then skips the deploy. #92 measured the install at roughly 25–45 s.
Fix.
Related: #143, item 2, the release-gate spike. It checks the same pull_request gates, from the question of whether a non-PR gate run is silently green.
This is the #92 Phase 1 item "gate both preview actions' CLI installs on
pull_request". #92 handed it to #105, but #105 closed on 2026-09-24 (shipped in v0.12.0) without it, so nothing tracked it.What's wrong. On
main@64aeb2f:Install … CLIsteps (preview-netlify/action.yml:56-58,preview-cloudflare/action.yml:68-70) run onif: steps.check-trust.outputs.skip != 'true'alone.preview-netlify/action.yml:92-95, and the matching step inpreview-cloudflare) also requiregithub.event_name == 'pull_request'.So a
workflow_dispatchrun, which both current consumers allow, spends time onnpm ciof the pinned CLI and then skips the deploy. #92 measured the install at roughly 25–45 s.Fix.
&& github.event_name == 'pull_request'to both install steps'if:, keeping the trust check (fix(preview): surface deploy errors, pin CLIs, remove unsafe fork guidance #105's fork guard).steps.install-cli.outputs.binon a non-pull_requestrun. The deploy and comment steps are already gated.preview-cli-installjob added in fix(preview-*): surface deploy errors, pin the CLIs by lockfile, keep the Netlify token off argv (#105) #174 runs the install on its own. Make sure it still exercises the install after the gate is added.[Unreleased]entry. It is behaviour-visible only as a faster no-op run.Related: #143, item 2, the release-gate spike. It checks the same
pull_requestgates, from the question of whether a non-PR gate run is silently green.