feat(ci): introduce merge queue#2024
Conversation
Closes #1946 Signed-off-by: Evan Lezar <elezar@nvidia.com>
| *) | ||
| echo "::error::Unsupported event '$EVENT_NAME'" >&2 | ||
| exit 1 | ||
| ;; |
There was a problem hiding this comment.
Question: Why not just default to the values for workflow_dispatch (which is what this code was doing beforehand).
| run_core_e2e=true | ||
| run_gpu_e2e=true | ||
| run_kubernetes_ha_e2e=false |
There was a problem hiding this comment.
I think we should rather not run e2e tests in the merge queue -- or use the same logic as we do for PRs?
There was a problem hiding this comment.
Is it just because of waiting for e2e tests can take a while or might flake for infra reasons?
There was a problem hiding this comment.
+1 to not running all E2E. We could get started with that and potentially have a smaller set of E2E that runs on merge queue if needed?
For PRs that need e2e (i.e. have the label) we could have them to be up to date with main. Github has that as a setting, but it's global, so it wouldn't be enforced though.
There was a problem hiding this comment.
if we don't run e2e on merge queues then we lose coverage, right? e2e tests are optional on branch checks.
|
As I was looking into this, one thing that I realized that is likely contributing to this issue is the fact that our branch checks run on the code as-is on the branch, whereas the default for With the |
Summary
Add merge-queue support for the required OpenShell CI gates. The existing copy-pr-bot PR mirror flow remains intact, and merge-group runs publish the same stable
OpenShell / ...status contexts for the queued integration SHA.Related Issue
Closes #1946
Changes
.github/workflows/branch-checks.yml: addmerge_groupas a required branch-check trigger..github/workflows/branch-e2e.yml: addmerge_groupand make push, manual, and queue E2E selection explicit..github/workflows/helm-lint.yml: addmerge_groupvalidation for queued integration commits..github/workflows/required-ci-gates.yml: publish required CI statuses for merge-group SHAs without requiring apull-request/<N>mirror branch..github/actions/pr-gate/action.yml: document that non-push events includemerge_group.CI.mdandarchitecture/build.md: document the maintainer merge-queue workflow and required contexts.Deviations from Plan
None — implemented as planned. The branch was rebased after #2022 merged so local validation includes that main Rust test fix.
Testing
mise run markdown:lintgit diff --check origin/main...HEADmise run pre-commitpasses locally (attempted after rebasing on fix(server): update driver spec test argument #2022; Rust check/lint, Python, Helm, Markdown, license, docs, and packaging checks passed, buttest:ruststill fails on this machine becausexcrun --show-sdk-pathcannot find the macOS SDK and the CLI integration test temporaryfake-forward-processcannot link-lSystem)Tests added:
e2e/files changed.Checklist
Documentation updated:
CI.md: merge queue behavior, required contexts, maintainer workflow, and workflow file roles.architecture/build.md: CI architecture now includes merge-group validation.