Skip to content

ci: cut over workflows for main merge queue#3104

Merged
henrypark133 merged 9 commits into
mainfrom
main-merge-queue-cutover
May 1, 2026
Merged

ci: cut over workflows for main merge queue#3104
henrypark133 merged 9 commits into
mainfrom
main-merge-queue-cutover

Conversation

@henrypark133
Copy link
Copy Markdown
Collaborator

@henrypark133 henrypark133 commented Apr 30, 2026

Summary

This replaces the old staging-first merge-queue rollout with a main-only cutover now that main already contains staging.

Changes in this PR:

  • add merge_group support to the required CI roll-ups for the future main merge queue
  • make Run Tests path/use-case aware for PRs targeting main
  • keep PR feedback focused on the relevant risk buckets while deferring Docker, Windows, and benchmark compilation to merge queue / main runs
  • keep merge-queue coverage for web E2E, plus queue/main coverage for runtime, replay, Telegram, Slack, WASM, Docker, Windows, and benchmark compile lanes
  • remove staging promotion workflows, metadata refresh, release-plz staging summary wiring, and helper scripts
  • remove staging branch cache warming and staging Docker image scheduling/tag behavior
  • keep Docker release workflow compatibility with release.yml

Validation

  • parsed all workflow and issue-template YAML with Ruby/Psych
  • ran git diff --cached --check
  • ran GITHUB_BASE_REF=refs/heads/main ALLOW_SKIP_VERSION_CHECK=false bash scripts/check-version-bumps.sh
  • audited .github, CLAUDE.md, src/setup/README.md, and FEATURE_PARITY.md for remaining staging-promotion/staging-branch control-flow references

Follow-up after merge

After this lands on main:

  1. update GitHub rulesets so main requires the actual emitted Run Tests and code-style roll-up contexts
  2. enable merge queue on main
  3. change the default branch from staging to main
  4. bulk-retarget open PRs from staging to main
  5. handle PR feat: use llm to select skill when no skill selected #2777 specially because its head and base are both staging
  6. delete the staging branch once no ruleset/default-branch/PR references depend on it

Supersedes #2877, #2779, and #2783 for #2719.

Copilot AI review requested due to automatic review settings April 30, 2026 04:11
@github-actions github-actions Bot added scope: ci CI/CD workflows size: XL 500+ changed lines risk: medium Business logic, config, or moderate-risk modules contributor: core 20+ merged PRs labels Apr 30, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the QA bug report template to shift focus from staging to hosted or local environments and refactors the version bump check script to improve branch resolution and allow toggling the skip mechanism. Feedback highlights an inconsistency in the issue template where staging-related dropdown options remain, and a potential bug in the version check script where a git log command is executed before the necessary remote refs are fetched, which could lead to silent failures in CI environments.

Comment thread .github/ISSUE_TEMPLATE/qa-bug.yml Outdated
Comment thread scripts/check-version-bumps.sh
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repository’s CI/CD configuration to fully cut over from the old staging-first promotion model to a main-only GitHub merge queue flow, including removing staging-promotion workflows and tightening merge-queue-aware CI rollups.

Changes:

  • Add merge_group support and refactor Run Tests/Code Style roll-ups to work correctly for main merge queue.
  • Make CI more path/use-case aware (PR vs merge queue vs push), including adding reusable workflow calls and new risk-based gating lanes.
  • Remove staging promotion workflows and related helper scripts, plus retire staging-specific Docker scheduling/tag behavior.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/check-version-bumps.sh Makes skip behavior controllable and normalizes base branch refs for main-queue contexts.
.github/workflows/test.yml Adds merge_group trigger, expands change detection outputs, and rewires the Run Tests roll-up to be event-aware.
.github/workflows/code_style.yml Adds merge_group trigger and adjusts matrices/guards to support merge queue while keeping the same required roll-up.
.github/workflows/e2e.yml Converts E2E into a reusable workflow with `mode: smoke
.github/workflows/replay-gate.yml Converts replay gate to workflow-call + main push cache priming so test.yml can depend on it.
.github/workflows/docker.yml Removes staging scheduled builds/tagging and adds validation for manual tag overrides.
.github/workflows/claude-review.yml Switches Claude review triggering from staging-promotion labeling to standard PR lifecycle events (non-fork, non-bot).
.github/workflows/staging-ci.yml Removed: staging promotion bot workflow.
.github/workflows/staging-promotion-metadata.yml Removed: staging promotion PR metadata refresh workflow.
.github/workflows/release-plz-batch-summary.yml Removed: staging-promotion-driven release-plz batch summary workflow.
.github/scripts/update-staging-promotion-body.sh Removed: staging promotion PR body updater script.
.github/scripts/update-release-plz-body.sh Removed: release-plz PR body updater based on staging promotions.
.github/ISSUE_TEMPLATE/qa-bug.yml Updates template language to remove staging-specific guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/test.yml
Copilot AI review requested due to automatic review settings April 30, 2026 06:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

.github/workflows/claude-review.yml:31

  • This workflow is triggered by issue_comment, but the checkout step doesn’t pin to the PR’s head/merge ref. As a result, any Read/Glob/Grep usage inside the Claude action will operate on the default branch checkout, not the PR’s contents, which can lead to incorrect reviews (the prompt explicitly instructs reading “full source files for changed code”). Consider checking out the PR merge/head ref for PR_NUMBER (or adjusting the prompt/tooling to fetch file contents via gh instead of relying on the workspace).
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
        with:
          fetch-depth: 0
          persist-credentials: false

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/claude-review.yml
Comment thread .github/workflows/test.yml
Comment thread .github/workflows/code_style.yml
Comment thread .github/workflows/replay-gate.yml Outdated
Copilot AI review requested due to automatic review settings April 30, 2026 07:11
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

.github/workflows/code_style.yml:224

  • The roll-up job name Code Style (fmt + clippy) is now misleading: this roll-up still requires gateway-js-syntax, cargo-deny, and gateway-boundaries to succeed (see its needs: list and the results it checks). Consider either restoring a name that reflects the full set of enforced checks or adjusting the roll-up dependencies to match the name, so check/run intent stays clear (and required-check contexts don’t become confusing).
  code-style:
    name: Code Style (fmt + clippy)
    runs-on: ubuntu-latest
    if: always()
    needs:
      - changes
      - clippy-matrix
      - format
      - gateway-js-syntax
      - clippy

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/test.yml Outdated
Comment thread scripts/check-version-bumps.sh
Copy link
Copy Markdown
Collaborator

@nickpismenkov nickpismenkov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Comment thread .github/workflows/test.yml Outdated
Copilot AI review requested due to automatic review settings May 1, 2026 01:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/claude-review.yml
@github-actions github-actions Bot added scope: extensions Extension management scope: dependencies Dependency updates labels May 1, 2026
@henrypark133 henrypark133 merged commit 7eddb1a into main May 1, 2026
37 checks passed
@henrypark133 henrypark133 deleted the main-merge-queue-cutover branch May 1, 2026 05:40
This was referenced May 7, 2026
@ironclaw-ci ironclaw-ci Bot mentioned this pull request May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: medium Business logic, config, or moderate-risk modules scope: ci CI/CD workflows scope: dependencies Dependency updates scope: extensions Extension management size: XL 500+ changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants