Skip to content

release: promote Dev_new_gui to main — 81 commits behind, blocked by one divergent commit #13389

Description

@mrveiss

main is 81 commits behind Dev_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, confirm release) fast-forwards main — deliberately without --force. It aborts first:

if [ "${{ steps.check.outputs.behind }}" != "0" ]; then
  echo "::error::main has N commit(s) not in Dev_new_gui. Resolve divergence manually first."
  exit 1
fi

main currently carries one commit absent from Dev_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, so main..Dev_new_gui is a clean fast-forward once it is reachable from Dev_new_gui.

Resolution: merge origin/main into Dev_new_gui through a PR (the branch is protected — no direct push), which makes behind 0 and unblocks the workflow.

Consequence to accept before promoting

Four workflows exist only on Dev_new_gui and will register their schedule triggers the moment they land on the default branch — GitHub dispatches schedule and workflow_dispatch from the default branch only (#13352):

Workflow State on promotion
ci-dispatch-watchdog.yml Wanted. Its */15 sweep starts working; today it only fires on push/PR.
self-hosted-runner-health (already on main) Improves — main currently runs the broken pre-#13045 copy every 30 minutes.
coverage.yml New scheduled load.
test-durations.yml New scheduled load.
marker-tests.yml Currently red — 11 failed, 7 passed, 40 errors on its single run (#13286). It will begin failing on a schedule against main.

marker-tests.yml is 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

  • PR merging origin/main into Dev_new_gui to clear the divergence
  • Decide marker-tests.yml: promote red, or exclude from this promotion
  • Run Sync Dev_new_gui → main with confirm release
  • Verify main == Dev_new_gui and that the newly-registered schedules fire

Why it matters beyond release hygiene

Every security-scanner finding currently reported against this repository is anchored to main line numbers, and main is 81 commits stale — so triage has to map each finding onto Dev_new_gui by 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 main is the broken copy) · #2445 (promotion policy)

Activity

  1. mrveiss commented on Aug 3, 2026

    @mrveiss
    OwnerAuthor

    Step 1 and 2 are up:

    Both target Dev_new_gui and must land before Sync Dev_new_gui → main is dispatched with confirm release.

    Remaining after that: verify main == Dev_new_gui, and confirm the three intended schedules (ci-dispatch-watchdog, coverage, test-durations) register and fire — plus that self-hosted-runner-health on main stops running the broken pre-#13045 copy.

  2. added a commit that references this issue on Aug 3, 2026
  3. mrveiss commented on Aug 3, 2026

    @mrveiss
    OwnerAuthor

    Steps 1 and 2 are done.

    Remaining: run Sync Dev_new_gui → main with confirm release, then verify main == Dev_new_gui and that the three intended schedules (ci-dispatch-watchdog, coverage, test-durations) register — plus that self-hosted-runner-health on main stops 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.

  4. mrveiss commented on Aug 4, 2026

    @mrveiss
    OwnerAuthor

    Ready to dispatch — owner action.

    Both prerequisites are merged:

    To run it: workflow_dispatch on "Sync Dev_new_gui → main" with confirm release. It fast-forwards without --force and aborts if main holds anything Dev_new_gui lacks.

    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-#13045 self-hosted-runner-health copy that main runs every 30 minutes).

    After dispatch, worth verifying: main == Dev_new_gui, and that the three intended schedules register and fire.

  5. mrveiss commented on Aug 10, 2026

    @mrveiss
    OwnerAuthor

    Promoted — main synced. 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

    The marker-tests.yml decision is moot

    This 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=yes
    

    marker-tests.yml is byte-identical on both branches, so this promotion changes nothing about it. Its failures are also all pull_request/push events, not schedule — 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:

    1. GH006: Protected branch update failed for refs/heads/main … (protected branch hook declined) — main requires 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.
    2. GraphQL: GitHub Actions is not permitted to create or approve pull requests — a repository setting. The workflow pushed release-sync-main and 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 main that is not in Dev_new_gui:

    $ git rev-list --count origin/Dev_new_gui..origin/main
    1
    

    That is the same shape as b56497fa9, the commit this issue was filed about. Every promotion through a PR leaves main one 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions