Skip to content

Conversation

@vdemeester
Copy link
Member

@vdemeester vdemeester commented Nov 24, 2025

Changes

Summary

This PR proposes to add support for GitHub's merge queue to automate PR merging and ensure the main branch remains stable. The merge queue validates that approved PRs work correctly when merged with the latest main before allowing them to land.

  • Updated workflows to trigger on merge_group events in addition to pull_request:
  • Reduce the e2e matrix to the minimum when being run in the merge queue.
    This optimization reduces merge queue CI time and flakyness while maintaining safety, since PRs already pass the full matrix during review. It also helps not overriding to much the runners.
  • Added comprehensive merge queue documentation to DEVELOPMENT.md

Testing

The workflow changes are backward compatible:

  • Regular PR builds continue to work exactly as before
  • The merge_group trigger is additive and only activates when merge queue is enabled
  • The minimal parameter defaults to false, preserving full matrix behavior for existing callers

Next Steps

Before merging this PR, deciding whether we want to take this approach or not. This is a proposal/exploration, but we can definitely decide to keep using tide.

After merging this PR, repository administrators will need to:

  1. Enable merge queue in branch protection settings for main
  2. Configure merge queue parameters:
    • Merge method: rebase (matches current setup)
    • Build concurrency: 5
    • Batch size: 1-5 PRs
    • Timeout: 60 minutes
  3. Coordinate with tektoncd org about Prow/Tide integration (if applicable)

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • Has Tests included if any functionality added or changed
  • pre-commit Passed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

NONE

@tekton-robot tekton-robot added release-note-none Denotes a PR that doesnt merit a release note. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Nov 24, 2025
@tekton-robot tekton-robot requested review from abayer and khrm November 24, 2025 15:25
@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please ask for approval from vdemeester after the PR has been reviewed.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Nov 24, 2025
@vdemeester
Copy link
Member Author

@vdemeester vdemeester changed the title WIP: Proposal Configure merge_queue on the repository (to replace tide) WIP: Proposal: Configure merge_queue on the repository (to replace tide) Nov 24, 2025
@waveywaves waveywaves added the kind/misc Categorizes issue or PR as a miscellaneuous one. label Nov 24, 2025
@vdemeester
Copy link
Member Author

Arf, I messed up the workflow, let me try to fix.

@tekton-robot tekton-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 26, 2025
@tekton-robot tekton-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 26, 2025
@vdemeester
Copy link
Member Author

Ohhhh @afrittoli @aThorp96 does the file change only get the latest commit of a PR ? if yes, this would explain why it is skipping stuff here - and it's a problem..

@vdemeester
Copy link
Member Author

vdemeester commented Nov 26, 2025

See #9175 for a fix.

@vdemeester
Copy link
Member Author

I don't understand why it doesn't set non-docs to true in https://github.com/tektoncd/pipeline/actions/runs/19699931375/job/56433464823?pr=9164 🤔

@vdemeester
Copy link
Member Author

Will need #9176 🙃

@vdemeester
Copy link
Member Author

or #9137

@vdemeester vdemeester changed the title WIP: Proposal: Configure merge_queue on the repository (to replace tide) Proposal: Configure merge_queue on the repository (to replace tide) Nov 26, 2025
@tekton-robot tekton-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 26, 2025
…ge_queue

- Add merge_group for event triggering
- Add a minimal parameter to the e2e-matrix so that we run only one
  set of e2e tests on merge.
- Update DEVELOPMENT.md to explain the mergue queue implementation.

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
This uses a job to generate the matrix (hard coded today, we could
definitely generate it from other inputs as well) instead of using the
matrix syntax.

Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
@vdemeester
Copy link
Member Author

/retest

@vdemeester
Copy link
Member Author

/hold

@tekton-robot tekton-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/misc Categorizes issue or PR as a miscellaneuous one. release-note-none Denotes a PR that doesnt merit a release note. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants