Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2662 — Validace opouští nasazení jako runner: kontroly větve nikdy nedrží pool, který potřebuje publikace nebo záznam releasu

Omezit, co smí validace zabírat, aby dvě věci, které umí jen trunk, publikace a zaznamenání release, začaly, jakmile jsou připraveny.

PŘIPRAVENO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást M004 — Výkon je spustitelný důkaz a horká cesta nedělá žádnou kanonickou práci dvakrát.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2662 bude přijato.

Cíl

Omezit, co smí validace zabírat, aby dvě věci, které umí jen trunk, publikace a zaznamenání release, začaly, jakmile jsou připraveny.

Proč

Vlastník, 2026-10-13: 'prověřte, co je pomalé ... vyřešte to systémově, zabraňte tomu příště' a 'tohle se musí analyzovat a řešit přes .ai/; nesmí se to opakovat'. Naměřeno téhož dne: merge dorazil do produkce o 45 až 61 minut později a dvě večerní přistání nebyla hodinu po merge nasazena.

Aktuální stav

Změřeno 2026-10-13: úlohy workflow pages čekaly na runner 78 až 876 s ve dvou dokončených bězích a 20,5 minuty ve třetím, zatímco několik běhů validate větví bylo ve frontě nebo běželo; každý běh validate spouští asi devatenáct úloh. Žádné pravidlo neříká, kolik z fondu smí validace zabrat, a běh, který nikdo nebude číst, se ruší jen ručně (ADR 0155 klauzule 7).

Cílový stav

Workflow validate deklaruje, kolik jeho jobů smí běžet najednou, a sám ruší nahrazený běh branche; běh na trunku, nasazení a běh releasu se nikdy neruší a nikdy nečekají za maticí branche. Čekání jobu pages na runner se zaznamenává na běh a má deklarovanou mez.

Rozsah

  • .github/workflows/validate.yml
  • .github/workflows/pages.yml
  • .ai/repo/ci/gates.yaml
  • scripts/ci-plan
  • docs/CI.md
  • .ai/repo/project/issues/I2662.yaml

Mimo rozsah

  • Nákup runnerů
  • Co kontroly ověřují

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • Nový push do větve zruší nedokončený běh validate této větve; běhy trunku se nikdy neruší
  • Počet souběžně běžících jobů validate má deklarované maximum a případ drží workflow u něj
  • Za den přistání žádná úloha pages nečeká na runner déle než deklarovaná mez, čteno ze zaznamenaných časů

Validace

  • bin/majordomus plan validate
  • scripts/ci/github-check
  • scripts/ci-plan --check

Požadované důkazy

  • runner_wait_per_pages_job_over_a_day
  • superseded_run_cancelled_case

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I2662.yaml. Přečtěte jej zpět pomocí majordomus plan show I2662.

Prohledává názvy a popisy všech stránek, které tento web publikuje.