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.

I2416 — Verdikt ci žádá od každé vybrané kontroly doklad a kontrola, jejíž krok nikdy neběžel, je červená

Udělat scripts/ci/verdict zelený, jen když každá kontrola vybraná plánem zanechala potvrzení z kroku, který ji spustil, každé potvrzení `success`: úspěch úlohy není úspěch kontroly, protože úloha nese mnoho kontrol a krok, který její podmínka přeskočila, úlohu neselže. Zrušeno, přeskočeno, chybějící a nepřítomné nikdy neprojdou a každé má fixture.

HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást test-evidence — Každé ověřitelné tvrzení a widget se na každém povrchu převádí na testovací důkaz vázaný na revizi.

Cíl

Udělat scripts/ci/verdict zelený, jen když každá kontrola vybraná plánem zanechala potvrzení z kroku, který ji spustil, každé potvrzení `success`: úspěch úlohy není úspěch kontroly, protože úloha nese mnoho kontrol a krok, který její podmínka přeskočila, úlohu neselže. Zrušeno, přeskočeno, chybějící a nepřítomné nikdy neprojdou a každé má fixture.

Proč

CI Delivery V4 položka V4-02-03 (mise vlastníka, předaná ce dne 2026-10-10). Verdikt rozhodnutý pouze z výsledků jobů. scripts/ci/verdict už vybraný gate překlápěl do červené, když byl jeho job zrušen, přeskočen nebo chyběl, ale job hlásí `success`, když byl jeden z jeho kroků přeskočen vlastním `if:`, a validate.yml spouští většinu gate v krocích s vlastními podmínkami, čtoucími výstupy plánu, ne plán. Vybraný gate, jehož krok byl přeskočen — podmínka čtoucí jiný výstup, přejmenované id kroku, gate přesunutý do jiného jobu — prošel, aniž by běžel. Vendorovací krok jobu cockpit byl dokonce označen gate `cockpit-assets` jobu site, takže jeho úspěch by odpovídal za přeskočené `--check`.

Aktuální stav

scripts/ci/verdict čte jen plán a kontext `needs`. scripts/ci/timed a scripts/ci/run-plan zaznamenávají časování, ne výsledky. Žádný artefakt neříká, krok které kontroly proběhl.

Cílový stav

Každá úloha kontroly nastaví MJ_CI_RECEIPTS a nahraje své stvrzenky jako ci-receipts-<job>: scripts/ci/timed a scripts/ci/run-plan připojují \"<gate><TAB><success|failure><TAB><source>\" za každý krok a každou kontrolu a závěrečný krok `if: always()` zaznamená `steps.<id>.outcome` pro každý krok kontroly, který běží jinak. Úloha ci stáhne každý artefakt ci-receipts-* a spustí verdikt s --receipts, což je povinné. Vybraná kontrola, jejíž úloha uspěla, je červená bez stvrzenky a červená, když je kterákoli stvrzenka `skipped`, `cancelled`, `failure` nebo prázdná (čtena jako `absent`); žádné stvrzenky vůbec jsou červené pro každou vybranou kontrolu.

Rozsah

  • scripts/ci/verdict
  • scripts/ci/timed
  • scripts/ci/run-plan
  • .github/workflows/validate.yml
  • test/cases/94_ci_plan.sh
  • test/cases/26_ci_wiring.sh

Mimo rozsah

  • Rušení bezpředmětných běhů (V4-02-04), artefakt build-once (V4-03), výběr případů podle dopadu (V4-04-01), dlouhý ocas (V4-04-02) a rozpočet 300 s (V4-05-04): ostatní položky mise.
  • Vyžadování účtenek od každé větve matice jménem: kontrola je zelená s alespoň jednou účtenkou a každou účtenkou `success`; které větve musí hlásit, model kontrol nedeklaruje.

Závislosti

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

Kritéria přijetí

  • Vybraná kontrola, jejíž úloha uspěla a která nezanechala stvrzenku, způsobí červený verdikt, jmenující kontrolu a její úlohu
  • Vybraný gate s dokladem `skipped`, `cancelled`, `failure` nebo prázdným výsledkem činí verdikt červeným a jmenuje výsledek, ať job hlásil cokoli
  • Žádný adresář receipts nebo prázdný je červený pro každý vybraný gate; verdikt vyžádaný bez --receipts je chyba použití
  • Příjemka kontroly, kterou plán nevybral, nic nemění
  • scripts/ci/timed a scripts/ci/run-plan zapisují jednu stvrzenku na každý krok a každou kontrolu, kterou spustily, a žádnou pro kontrolu, kterou run-plan přeskočí
  • Každý job kontroly validate.yml nahrává ci-receipts-<job> a job ci předává --receipts

Validace

  • bin/majordomus plan validate
  • MJ_TEST_JOBS=4 bash test/run.sh 94_ci_plan 26_ci_wiring
  • actionlint .github/workflows/validate.yml

Požadované důkazy

  • receipt_verdict_fixtures

Důkazy

pokrývátypcommandvýsledeku commitu
receipt_verdict_fixturestestMJ_TEST_JOBS=4 bash test/run.sh 94_ci_plan 26_ci_wiringtesty: 2 prošly, 0 selhaly, 0 přeskočeny (běh 2026-10-14 mezi 07:40Z a 07:58Z na masteru ce5959db59)ce5959d

Časová osa

zahájeno
2026-10-14T08:00:49Z
ověřeno
—
dokončeno
2026-10-14T08:00:55Z

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/I2416.yaml. Přečtěte ho zpět pomocí majordomus plan show I2416.

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