Skip to content

chore(ci): manual bridge — sync main → staging (#2211 catch-up) - #2236

Merged
HongmingWang-Rabbit merged 2 commits into
stagingfrom
auto-sync/main-a3864eaf
Apr 28, 2026
Merged

chore(ci): manual bridge — sync main → staging (#2211 catch-up)#2236
HongmingWang-Rabbit merged 2 commits into
stagingfrom
auto-sync/main-a3864eaf

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Summary

Manual bridge PR to absorb main's tip (a3864eaf) back onto staging so the staging-as-superset-of-main invariant holds again. The diff is empty — this is purely a merge-graph alignment.

Why this isn't auto-sync

The new PR-based auto-sync-main-to-staging.yml (#2234) just merged onto staging, but main doesn't have it yet. When #2211 (staging→main UI merge) landed earlier today, the OLD direct-push version of auto-sync ran (because that's what was on main at the time) and immediately failed with GH013 — staging is protected by a merge_queue ruleset that blocks all direct pushes.

So we're in a one-time bootstrap: the deadlock can't self-heal until main has the new workflow. This PR does manually what the new workflow would have done automatically.

What unblocks after merge

  1. staging absorbs a3864eaf → main is now an ancestor of staging.
  2. Next auto-promote-staging run fast-forwards main to staging's tip.
  3. main now has the PR-based auto-sync workflow.
  4. Any future staging to main #2211-style staging→main UI merge triggers the new workflow on main, which opens its own auto-sync PR — fully self-healing.

Verification

  • git diff origin/staging is empty (verified locally before pushing).
  • This is the exact playbook in auto-sync-main-to-staging.yml's comment block — section "If ff fails (staging has commits main doesn't)".

Test plan

  • PR opens, CI runs against the merge-graph-only commit
  • Required checks pass on the merged commit
  • After merge, git merge-base --is-ancestor origin/main origin/staging returns true
  • Next auto-promote-staging run succeeds (fast-forwards main)

HongmingWang-Rabbit and others added 2 commits April 28, 2026 15:52
Brings the merge commit a3864ea (PR #2211 staging→main UI merge) back
onto staging so the staging-as-superset-of-main invariant holds again.

Why this is needed instead of auto-sync firing:

  - Push-to-main ran the OLD direct-push auto-sync workflow that was
    on main at the time (a3864ea), not the new PR-based version.
  - Direct push to staging is blocked by the merge_queue ruleset
    (GH013), so the run failed.
  - The new PR-based auto-sync (#2234) lives on staging but isn't on
    main yet — it can't fire on the push that would've triggered it.
  - This PR breaks the deadlock manually. Once it merges, auto-promote
    fast-forwards main and main picks up the new auto-sync workflow,
    making the system self-healing for any future #2211-style merge.

Diff is empty — a3864ea is itself a staging→main merge, so its tree
matches staging's tree at that point. This commit only adds the merge
graph, not new file content.
@HongmingWang-Rabbit
HongmingWang-Rabbit added this pull request to the merge queue Apr 28, 2026
Merged via the queue into staging with commit 3b45951 Apr 28, 2026
20 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the auto-sync/main-a3864eaf branch April 28, 2026 23:40
HongmingWang-Rabbit pushed a commit that referenced this pull request Jun 12, 2026
…s terminal success (internal#818)' (#2236) from fix/818-sop-checklist-na-declarations-terminal-success into main
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