WIP chore: add GitHub merge queue workflows to replace Prow Tide#113
Open
anithapriyanatarajan wants to merge 1 commit intotektoncd:mainfrom
Open
WIP chore: add GitHub merge queue workflows to replace Prow Tide#113anithapriyanatarajan wants to merge 1 commit intotektoncd:mainfrom
anithapriyanatarajan wants to merge 1 commit intotektoncd:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
50a0855 to
ba8b272
Compare
e3556ff to
ba9af23
Compare
47a1d9e to
44224ee
Compare
44224ee to
1d900e1
Compare
2b29b11 to
2a28f79
Compare
This PR replaces the Prow Tide mechanism with native GitHub workflows and merge queue functionality, providing equivalent approval and merge automation without external infrastructure. 1. **approval-labels.yaml**: Handles /lgtm and /approve commands - Adds/removes lgtm and approved labels via PR comments - Permission checking using GitHub API - Only users with write access can approve 2. **hold-label.yaml**: Handles /hold and /unhold commands - Allows maintainers and PR authors to block PRs from merging - Adds/removes do-not-merge/hold label 3. **wip-label.yaml**: Automatic WIP detection - Detects [WIP], WIP:, [Draft], draft status, or 🚧 in PR titles - Auto-manages do-not-merge/work-in-progress label 4. **release-notes-label.yaml**: Release note enforcement - Requires release-note, release-note-action-required, or release-note-none - Blocks merge if missing release note label 5. **needs-rebase-label.yaml**: Merge conflict detection - Automatically detects merge conflicts - Manages needs-rebase label 6. **merge-readiness.yaml**: Required status check - Verifies both lgtm and approved labels are present - Blocks if any do-not-merge/* or needs-* labels exist - Single source of truth for merge eligibility - **.github/github-merge-queue.md**: Complete documentation - Command reference for /lgtm, /approve, /hold - Workflow diagrams and architecture - Migration guide from Prow Tide - Setup instructions for merge queue - **ci.yaml**: Removed unnecessary job dependencies - Unit tests, linting, and other checks now run in parallel - No longer wait for build job unnecessarily - Faster feedback on PRs - **kind-e2e.yaml**: Added CI check dependency - E2E tests now wait for CI checks to pass on PRs - Prevents wasteful E2E runs on broken code - Push/merge_group events run immediately without waiting - Event-driven (immediate) vs polling (2m delay) - No infrastructure to maintain - Native GitHub UI integration - Simpler permission model - Better visibility with GitHub checks - Works with GitHub merge queue - All existing Prow commands work identically: /lgtm, /approve, /hold - Blocking labels have same effect: do-not-merge/*, needs-* - Permission model uses GitHub repository access (write/admin) Co-authored-by: Claude <claude@anthropic.com>
2a28f79 to
e16accd
Compare
Contributor
Author
|
/retest |
Contributor
Author
|
/retest |
vdemeester
reviewed
Dec 15, 2025
Member
vdemeester
left a comment
There was a problem hiding this comment.
I think it is a good start, but could we make most of these as tools (or python scripts). The rational behind this, is to migrate them at some point in dogfooding as tasks. It could be done as follow-up though.
Comment on lines
34
to
-90
| @@ -44,7 +43,6 @@ jobs: | |||
|
|
|||
| linting: | |||
| name: Linting | |||
| needs: [build] | |||
| runs-on: ubuntu-latest | |||
| steps: | |||
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |||
| @@ -73,7 +71,6 @@ jobs: | |||
|
|
|||
| check-licenses: | |||
| name: License Check | |||
| needs: [build] | |||
| runs-on: ubuntu-latest | |||
| steps: | |||
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |||
| @@ -87,7 +84,6 @@ jobs: | |||
|
|
|||
| ko-resolve: | |||
| name: Ko Resolve (Multi-arch) | |||
| needs: [build] | |||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
This replaces the Prow Tide mechanism with native GitHub workflows and merge queue functionality. The new system provides:
All workflows are organized in .github/workflows/merge-automation/ for better organization.
Benefits over Prow Tide:
Effort to address - #93
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
/kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes
/kind misc
Assisted-by: Claude-sonnet