Skip to content

ci(e2e): add label dispatcher and contributor CI docs#975

Draft
pimlock wants to merge 1 commit intomainfrom
ci/e2e-label-dispatcher
Draft

ci(e2e): add label dispatcher and contributor CI docs#975
pimlock wants to merge 1 commit intomainfrom
ci/e2e-label-dispatcher

Conversation

@pimlock
Copy link
Copy Markdown
Collaborator

@pimlock pimlock commented Apr 24, 2026

Summary

  • Add E2E Label Dispatch workflow that triggers branch-e2e.yml / test-gpu.yml against the copy-pr-bot mirror branch when a test:e2e* label is applied. Closes the gap where labels applied after copy-pr-bot mirrors a PR leave the E2E Gate check stuck red until someone manually re-runs the workflow.
  • Comments on the PR when the mirror is missing or stale, telling the maintainer the exact /ok to test <SHA> they need to run.
  • Move CI/test-flow content out of CONTRIBUTING.md into a new CI.md covering copy-pr-bot, the test:e2e / test:e2e-gpu flows for internal vs forked PRs, and SSH-key commit-signing setup.

Related Issue

Follow-up to #938 (E2E Gate re-run dance). Resolves the second of two known rough edges captured in architecture/plans/e2e-copy-pr-bot-flow-summary.md.

Changes

  • .github/workflows/e2e-label-dispatch.yml (new) - listens on pull_request_target: [labeled]. Workflow-level permissions: {}; the single dispatch job grants actions: write and pull-requests: write. The job never checks out PR code; it only calls the GitHub API. The pull_request_target trigger is used so that labels on forked PRs still get a token capable of dispatching workflows and posting comments.
  • CI.md (new) - contributor-facing docs: copy-pr-bot model, two label-driven flows (internal, forked), SSH-key commit-signing setup pointing at https://github.com/settings/keys, workflow file table.
  • CONTRIBUTING.md - DCO section gets a one-line pointer to CI.md; new top-level ## CI section also points to CI.md.

Testing

  • Apply test:e2e to a PR whose pull-request/<N> mirror is fresh - dispatcher runs branch-e2e.yml and posts a confirmation comment.
  • Apply test:e2e-gpu to the same PR - dispatcher runs test-gpu.yml.
  • Apply test:e2e immediately after pushing a new commit (mirror temporarily stale) - dispatcher posts the "stale mirror" comment with the correct /ok to test <SHA> line.
  • Apply test:e2e to a PR that has not yet been mirrored - dispatcher posts the "no mirror yet" comment.
  • Apply an unrelated label - dispatcher does not run (the job-level if filter skips it).

Checklist

  • Conventional commit message
  • DCO sign-off
  • Commits signed
  • CI green (draft - opening for review of design before merging)

Add `E2E Label Dispatch` workflow that triggers `branch-e2e.yml` /
`test-gpu.yml` against the copy-pr-bot mirror when a `test:e2e*`
label is applied. Posts a PR comment when the mirror is missing or
stale so the maintainer knows the next step.

Move CI/test-flow docs out of CONTRIBUTING.md into a new CI.md
covering copy-pr-bot, the two label-driven flows (internal,
forked), and SSH-key commit-signing setup.

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 24, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant