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.

I2711 — Úloha pages posuzuje produkci až poté, co dorazilo nasazení jejího vlastního commitu

Zastavit, aby job `pages` kontroly validate na masteru hlásil červenou jen proto, že četl majordomus.dev dříve, než byl obsloužen deployment commitu, který posuzuje.

HOTOVO vlna 0 · p0 · 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.

Cíl

Zastavit, aby job `pages` kontroly validate na masteru hlásil červenou jen proto, že četl majordomus.dev dříve, než byl obsloužen deployment commitu, který posuzuje.

Proč

2026-10-14: validate 38579234241 na 0dff496d1c a validate 38600347235 na ff38297096 skončily obě selháním v úloze `pages`, krok \"the published site came from master, is current, and is being served\" exit 10, zatímco produkce servírovala právě ten commit o minuty později; úloha prošla při ručním opakování. Falešná červená na masteru zdržuje tag v0.26.0 (tagovat lze jen commit s úspěchem CI) a pokaždé stojí opakování úlohy.

Aktuální stav

Krok čte build.json produkce jednou, v okamžiku, kdy k němu job dojde, a selže, jestliže nasazení jeho commitu ještě neskončilo.

Cílový stav

Krok omezeně čeká, až produkce začne servírovat jeho commit (dotazuje build.json s deklarovaným limitem a říká, na co čeká), a selže, jen když mez uplyne nebo produkce servíruje jiný commit, který není novější; nasazení, které je stále ve frontě, se tak hlásí, nikdy jako vada stromu.

Rozsah

  • .github/workflows/validate.yml
  • scripts/ci/pages-check
  • scripts/site-check
  • docs/CI.md
  • test/cases

Mimo rozsah

  • Zrychlení samotného nasazení Pages

Závislosti

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

Kritéria přijetí

  • Job pages projde, když nasazení jeho commitu dorazí v deklarované mezi po startu jobu
  • Selže a jmenuje oba commity, když produkce po mezi servíruje starší commit
  • Čekání je omezené a deklarované a liveness-check jej přijímá

Validace

  • bin/majordomus plan validate

Požadované důkazy

  • pages_waits_for_its_deployment_case

Důkazy

pokrývátypcommandvýsledeku commitu
pages_waits_for_its_deployment_casetestMJ_TEST_JOBS=3 bash test/run.sh 3027_the_release_path_goes_first 3028_the_pages_job_waits_for_its_deployment 3029_a_tag_in_flight_is_pending 3021_a_tag_does_not_freeze_the_queue 3019_a_failed_branch_run_cancels_itself 103_release_projection 94_ci_plantesty: 7 prošlo, 0 selhalo (běh 2026-10-14 ~22Z na master c0e3585dc836201089d6b5dd49f5a79fe8bff798 plus tato změna); případ 3028: pages-check --for COMMIT čeká, dotazuje build.json každých 30 s po deklarovaných 1200 s, projde, když produkce obsluhuje commit nebo novější, selže brzy jen tehdy, když je obsluhován starší commit bez probíhajícího deploye, a jmenuje oba commityc0e3585

Časová osa

zahájeno
2026-10-14T22:01:02Z
ověřeno
—
dokončeno
2026-10-14T22:02:38Z

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/I2711.yaml. Načtěte ho zpět pomocí majordomus plan show I2711.

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