fix(ci): isoleer de macos-gate van een releasetag (#2321) #2327

Merged
brenno merged 1 commit from fix/2321-macos-gate-tag-isolation into main 2026-10-06 19:05:16 +00:00
Owner

Sluit #2321.

Kern

Tijdens v0.6.14 werd macos-gate run 5477 poging 2 — een herstelpoging voor de gepubliceerde tagcommit — vóór de start geannuleerd toen PR #2320 naar main merge. De groep macos-gate-refs/heads/main werd gedeeld door alle main-churn, en cancel-in-progress: true deed de rest.

Wijziging

  • .forgejo/workflows/macos-gate.yml: de poort draait nu ook op push: tags: ['v*']. Elke releasetag krijgt daarmee zijn eigen run in macos-gate-refs/tags/vX.Y.Z — een concurrencygroep die geen enkele branchrun deelt, dus een main-push annuleert een lopende of wachtende tagpoort nooit meer. cancel-in-progress blijft true: binnen één ref mag de nieuwste run de oude vervangen.
  • scripts/release_auto.sh: nieuwe macos_gate_tag_status volgt de tagrun via latest_workflow_run op prettyref (#2294-machinerie). Een gerichte herstart komt onder dezelfde run-id terug met een hogere attempt en wordt gewoon meegelezen. De status wordt zichtbaar in follow_ci (terzijde-regel) en als mark in --status, zodat een afwezige of geannuleerde golden-poort nooit onzichtbaar blijft.
  • docs/CHECKS.md bijgewerkt: de poort dekt nu ook tag-pushes.

Tests

test/macos_gate_concurrency_test.dart —

  • structureel: de workflow triggert op v*-tags én de concurrencygroep draagt github.ref (tagrefs ≠ branchrefs);
  • harness: de helper volgt de run op de tagref, niet de geannuleerde main-run 5477 (het incident-scenario);
  • een herstart met dezelfde run-id wordt meegevolgd;
  • een onleesbare API faalt hoorbaar, niet stil leeg.

Verificatie

  • make check volledig groen (incl. goldens — een eerdere run sneuvelde alleen op een DNS-hik bij pub.dev, daarna opnieuw volledig groen).
  • Geen echte Forgejo-dispatch uitgevoerd: het concurrencygedrag is structureel getest op het workflowbestand; de run-tracking is hermetisch getest.

Generated with Devin

Sluit #2321. ## Kern Tijdens v0.6.14 werd macos-gate run 5477 poging 2 — een herstelpoging voor de gepubliceerde tagcommit — vóór de start geannuleerd toen PR #2320 naar main merge. De groep `macos-gate-refs/heads/main` werd gedeeld door alle main-churn, en `cancel-in-progress: true` deed de rest. ## Wijziging - `.forgejo/workflows/macos-gate.yml`: de poort draait nu ook op `push: tags: ['v*']`. Elke releasetag krijgt daarmee zijn eigen run in `macos-gate-refs/tags/vX.Y.Z` — een concurrencygroep die geen enkele branchrun deelt, dus een main-push annuleert een lopende of wachtende tagpoort nooit meer. `cancel-in-progress` blijft `true`: binnen één ref mag de nieuwste run de oude vervangen. - `scripts/release_auto.sh`: nieuwe `macos_gate_tag_status` volgt de tagrun via `latest_workflow_run` op prettyref (#2294-machinerie). Een gerichte herstart komt onder dezelfde run-id terug met een hogere attempt en wordt gewoon meegelezen. De status wordt zichtbaar in `follow_ci` (terzijde-regel) en als mark in `--status`, zodat een afwezige of geannuleerde golden-poort nooit onzichtbaar blijft. - `docs/CHECKS.md` bijgewerkt: de poort dekt nu ook tag-pushes. ## Tests `test/macos_gate_concurrency_test.dart` — - structureel: de workflow triggert op `v*`-tags én de concurrencygroep draagt `github.ref` (tagrefs ≠ branchrefs); - harness: de helper volgt de run op de tagref, niet de geannuleerde main-run 5477 (het incident-scenario); - een herstart met dezelfde run-id wordt meegevolgd; - een onleesbare API faalt hoorbaar, niet stil leeg. ## Verificatie - `make check` volledig groen (incl. goldens — een eerdere run sneuvelde alleen op een DNS-hik bij `pub.dev`, daarna opnieuw volledig groen). - Geen echte Forgejo-dispatch uitgevoerd: het concurrencygedrag is structureel getest op het workflowbestand; de run-tracking is hermetisch getest. Generated with [Devin](https://devin.ai)
De golden-poort voor een releasecommit leefde alleen als main-run in
macos-gate-refs/heads/main; bij v0.6.14 veegde een ongerelateerde merge
de herstelpoging (run 5477 poging 2) vóór de start weg. De workflow
draait nu óók op v*-tags — elke tag krijgt zijn eigen run in
macos-gate-refs/tags/vX.Y.Z, een groep die geen branchrun deelt.
release_auto volgt die tagrun via latest_workflow_run op prettyref en
toont hem in follow_ci en --status, zodat een afwezige of geannuleerde
golden-poort van de uitgebrachte commit nooit onzichtbaar blijft.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 227229ade4 into main 2026-10-06 19:05:16 +00:00
Sign in to join this conversation.
No description provided.