Repository navigation
release: promote Dev_new_gui to main — 81 commits behind, blocked by one divergent commit #13389
Description
Activity
Step 1 and 2 are up:
- chore(release): merge main back into Dev_new_gui to clear promotion divergence (#13389) #13390 — merges
origin/mainintoDev_new_guito clear the divergence. Verified zero content delta against both parents (git diff --statempty in each direction);git rev-list --count HEAD..origin/mainis now0, which is the conditionsync-main-to-dev.ymlgates on. - ci(marker-tests): withhold the nightly cron until the suite is green (#13286) #13391 — comments out the
marker-tests.ymlcron so promotion does not register a nightly whose only run was red (Marker-excluded tests (slow/integration/performance/distributed) run in no workflow at all #13286).workflow_dispatchstays live. Owner chose this over promoting red or blocking on a Marker-excluded tests (slow/integration/performance/distributed) run in no workflow at all #13286 fix.
Both target
Dev_new_guiand must land before Sync Dev_new_gui → main is dispatched with confirmrelease.Remaining after that: verify
main==Dev_new_gui, and confirm the three intended schedules (ci-dispatch-watchdog,coverage,test-durations) register and fire — plus thatself-hosted-runner-healthonmainstops running the broken pre-#13045 copy.- chore(release): merge main back into Dev_new_gui to clear promotion divergence (#13389) #13390 — merges
- added a commit that references this issue
on Aug 3, 2026 Steps 1 and 2 are done.
- chore(release): merge main back into Dev_new_gui to clear promotion divergence (#13389) #13390 merged —
origin/mainmerged back intoDev_new_gui, clearing the one divergent commit (b56497fa9) that madesync-main-to-dev.ymlabort. Zero content delta, verified in both directions before merge. - ci(marker-tests): withhold the nightly cron until the suite is green (#13286) #13391 merged —
marker-tests.yml's nightly cron is commented out, so promotion will not register a schedule whose only run was red (Marker-excluded tests (slow/integration/performance/distributed) run in no workflow at all #13286).workflow_dispatchstays live; uncommenting the cron is the closing step of Marker-excluded tests (slow/integration/performance/distributed) run in no workflow at all #13286.
Remaining: run Sync Dev_new_gui → main with confirm
release, then verifymain==Dev_new_guiand that the three intended schedules (ci-dispatch-watchdog,coverage,test-durations) register — plus thatself-hosted-runner-healthonmainstops running the broken pre-#13045 copy.That dispatch is an owner action (it force-advances the default branch of a public repo), so I have not run it.
- chore(release): merge main back into Dev_new_gui to clear promotion divergence (#13389) #13390 merged —
Ready to dispatch — owner action.
Both prerequisites are merged:
- chore(release): merge main back into Dev_new_gui to clear promotion divergence (#13389) #13390 cleared the divergence (
origin/mainmerged back intoDev_new_gui, zero content delta verified in both directions), sosync-main-to-dev.yml'sbehind != 0abort no longer fires. - ci(marker-tests): withhold the nightly cron until the suite is green (#13286) #13391 commented out
marker-tests.yml's nightly cron, so promotion will not register a schedule whose only run was red (Marker-excluded tests (slow/integration/performance/distributed) run in no workflow at all #13286).workflow_dispatchstays live; uncommenting it is the closing step of that issue.
To run it: workflow_dispatch on "Sync Dev_new_gui → main" with confirm
release. It fast-forwards without--forceand aborts ifmainholds anythingDev_new_guilacks.Confirmed as an owner action rather than something I trigger — it force-advances the default branch of a public repository and registers four previously dormant scheduled workflows (
ci-dispatch-watchdog,coverage,test-durations, plus replacing the broken pre-#13045self-hosted-runner-healthcopy thatmainruns every 30 minutes).After dispatch, worth verifying:
main==Dev_new_gui, and that the three intended schedules register and fire.- chore(release): merge main back into Dev_new_gui to clear promotion divergence (#13389) #13390 cleared the divergence (
Promoted —
mainsynced. PR #13972 merged.before: main 5bae2b974, 47 commits behind Dev_new_gui after : main cb526c5dd, 1 commit behind (that one landed after the snapshot)Steps
- PR merging
origin/mainintoDev_new_guito clear the divergence — chore(release): merge main back into Dev_new_gui so the sync workflow can fast-forward #13951, zero content change - Decide
marker-tests.yml— the decision turned out to be moot, see below - Run Sync Dev_new_gui → main — dispatched twice; it cannot complete, see below
- Verify
main==Dev_new_gui— one commit apart, and that commit merged after the release branch was cut
The
marker-tests.ymldecision is mootThis issue asks to choose between promoting it red or holding it back. Neither is needed — all four workflows are already on
main, having landed with the #13816 sync on 2026-08-09:ci-dispatch-watchdog: on_trunk=yes on_main=yes coverage: on_trunk=yes on_main=yes test-durations: on_trunk=yes on_main=yes marker-tests: on_trunk=yes on_main=yesmarker-tests.ymlis byte-identical on both branches, so this promotion changes nothing about it. Its failures are also allpull_request/pushevents, notschedule— so the "recurring red scheduled run" this issue anticipated has not started. #13286 remains the live question, independently.The workflow still cannot complete — two more blockers found
Dispatching it after clearing the divergence surfaced two further layers, neither known when this issue was filed:
GH006: Protected branch update failed for refs/heads/main … (protected branch hook declined)—mainrequires two status checks, so a direct push moves it to a commit carrying neither. The fast-forward push could never have worked, divergence or not. Fixed in fix(ci): open a release PR instead of pushing to protected main #13968: the workflow now opens a release PR so those checks run against the release head.GraphQL: GitHub Actions is not permitted to create or approve pull requests— a repository setting. The workflow pushedrelease-sync-mainand then could not open the PR. fix(ci): do not fail the release sync when Actions may not open PRs #13973 makes that degrade to a warning with a compare link rather than reading as a failed sync; I opened release: sync Dev_new_gui into main (47 commits) #13972 by hand.
So this promotion was completed manually at the last step. The builtin gets one step further than before but still needs a human click until that setting changes — which is a permissions decision, not a defect.
It re-arms its own blocker every cycle
Merging the release PR created a merge commit on
mainthat is not inDev_new_gui:$ git rev-list --count origin/Dev_new_gui..origin/main 1That is the same shape as
b56497fa9, the commit this issue was filed about. Every promotion through a PR leavesmainone merge commit ahead, which trips the divergence guard on the next run. Filed separately — closing this one as the promotion it asked for is done.- PR merging
mainis 81 commits behindDev_new_gui(376 files, +52,780 / -5,109; last sync 2026-08-01 via #13184). Promoting is requested.Blocker: the sanctioned workflow refuses to run
.github/workflows/sync-main-to-dev.yml("Sync Dev_new_gui → main",workflow_dispatch, confirmrelease) fast-forwardsmain— deliberately without--force. It aborts first:maincurrently carries one commit absent fromDev_new_gui:b56497fa9"Merge pull request #13184 from mrveiss/Dev_new_gui" — the merge commit GitHub created for the previous promotion. It contributes no content, only history, somain..Dev_new_guiis a clean fast-forward once it is reachable fromDev_new_gui.Resolution: merge
origin/mainintoDev_new_guithrough a PR (the branch is protected — no direct push), which makesbehind0 and unblocks the workflow.Consequence to accept before promoting
Four workflows exist only on
Dev_new_guiand will register theirscheduletriggers the moment they land on the default branch — GitHub dispatchesscheduleandworkflow_dispatchfrom the default branch only (#13352):ci-dispatch-watchdog.yml*/15sweep starts working; today it only fires on push/PR.self-hosted-runner-health(already onmain)maincurrently runs the broken pre-#13045 copy every 30 minutes.coverage.ymltest-durations.ymlmarker-tests.ymlmain.marker-tests.ymlis the one to decide on: promote it and accept a recurring red scheduled run until #13286 is triaged, or hold it back in this promotion.Steps
origin/mainintoDev_new_guito clear the divergencemarker-tests.yml: promote red, or exclude from this promotionreleasemain==Dev_new_guiand that the newly-registered schedules fireWhy it matters beyond release hygiene
Every security-scanner finding currently reported against this repository is anchored to
mainline numbers, andmainis 81 commits stale — so triage has to map each finding ontoDev_new_guiby hand before it can be judged. Several spot-checked findings landed on unrelated or already-guarded code purely because of the offset. Promoting removes that whole class of noise.Related: #13352 (dormant schedules) · #13286 (marker-tests red) · #13045 (health check on
mainis the broken copy) · #2445 (promotion policy)