[PR #201] [MERGED] Run safe CI for external contributors, add /deploy-preview slash command #383

Closed
opened 2026-05-06 12:39:31 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/cloudflare/vinext/pull/201
Author: @southpolesteve
Created: 2/28/2026
Status: Merged
Merged: 2/28/2026
Merged by: @southpolesteve

Base: mainHead: ci/external-contributor-ci


📝 Commits (3)

  • d951af6 Skip deploy previews for fork PRs that lack Cloudflare secrets
  • 95892a7 Run safe CI for external contributors, add /deploy-preview slash command
  • 29f9edd Revert ci.yml to pull_request, skip deploy-examples for fork PRs

📊 Changes

4 files changed (+223 additions, -3 deletions)

View changed files

📝 .github/workflows/deploy-examples.yml (+6 -3)
.github/workflows/deploy-preview-command.yml (+187 -0)
📝 AGENTS.md (+24 -0)
📝 README.md (+6 -0)

📄 Description

Summary

  • Skip deploy-examples.yml entirely for fork PRs via a job-level if condition. This is the main fix: no more noisy failed/skipped deploy checks on external contributor PRs.
  • Add a /deploy-preview slash command workflow (deploy-preview-command.yml) that lets maintainers trigger deploy previews on fork PRs. Gated by author_association (org members, collaborators, repo owners).
  • ci.yml is unchanged. It uses no secrets and runs for all PRs. First-time contributors need one manual approval, then subsequent PRs run automatically.
  • Cloudflare employees who push branches to the main repo continue to get automatic deploy previews via the existing deploy-examples.yml.
  • Document the CI setup in both AGENTS.md and README.md.

How it works

Contributor type Safe CI (lint, typecheck, tests) Deploy previews
Cloudflare employee (branch on main repo) Automatic Automatic
External contributor (fork, first PR) One-time approval Maintainer comments /deploy-preview
External contributor (fork, subsequent PRs) Automatic Maintainer comments /deploy-preview

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/cloudflare/vinext/pull/201 **Author:** [@southpolesteve](https://github.com/southpolesteve) **Created:** 2/28/2026 **Status:** ✅ Merged **Merged:** 2/28/2026 **Merged by:** [@southpolesteve](https://github.com/southpolesteve) **Base:** `main` ← **Head:** `ci/external-contributor-ci` --- ### 📝 Commits (3) - [`d951af6`](https://github.com/cloudflare/vinext/commit/d951af6a9bc4e890d8a74fc668b4d588ba923257) Skip deploy previews for fork PRs that lack Cloudflare secrets - [`95892a7`](https://github.com/cloudflare/vinext/commit/95892a78979cb320820384036b0eceafdd84397a) Run safe CI for external contributors, add /deploy-preview slash command - [`29f9edd`](https://github.com/cloudflare/vinext/commit/29f9edd613bd39c6b228c5676b771cd2b7b86c85) Revert ci.yml to pull_request, skip deploy-examples for fork PRs ### 📊 Changes **4 files changed** (+223 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/deploy-examples.yml` (+6 -3) ➕ `.github/workflows/deploy-preview-command.yml` (+187 -0) 📝 `AGENTS.md` (+24 -0) 📝 `README.md` (+6 -0) </details> ### 📄 Description ## Summary - Skip `deploy-examples.yml` entirely for fork PRs via a job-level `if` condition. This is the main fix: no more noisy failed/skipped deploy checks on external contributor PRs. - Add a `/deploy-preview` slash command workflow (`deploy-preview-command.yml`) that lets maintainers trigger deploy previews on fork PRs. Gated by `author_association` (org members, collaborators, repo owners). - `ci.yml` is unchanged. It uses no secrets and runs for all PRs. First-time contributors need one manual approval, then subsequent PRs run automatically. - Cloudflare employees who push branches to the main repo continue to get automatic deploy previews via the existing `deploy-examples.yml`. - Document the CI setup in both AGENTS.md and README.md. ## How it works | Contributor type | Safe CI (lint, typecheck, tests) | Deploy previews | |---|---|---| | Cloudflare employee (branch on main repo) | Automatic | Automatic | | External contributor (fork, first PR) | One-time approval | Maintainer comments `/deploy-preview` | | External contributor (fork, subsequent PRs) | Automatic | Maintainer comments `/deploy-preview` | --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 12:39:31 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vinext#383
No description provided.