I0928 — Pull request nemůže sloučit nasazení, které by nefungovalo
Rozšířit stávající ověřovací workflow tak, aby pull request spouštěl validaci nasazení, kontrolu driftu projekcí, sestavení produkčního image, běh smoke testu kontejneru, aserce politiky zdrojů a bezpečnostní kontroly.
BLOKOVÁNO vlna 6 · p0 · profil implementation · bezpečné paralelně
Součást fly-deployment — Image kontejneru je projekcí modelu repozitáře a jeho smoke test je jeho důkazem.
Blokováno. Tento úkol nemůže začít, dokud nejsou hotovy I0919, I0921, I0930. Stav je z toho odvozen, ne deklarován.
Cíl
Rozšířit stávající ověřovací workflow tak, aby pull request spouštěl validaci nasazení, kontrolu driftu projekcí, sestavení produkčního image, běh smoke testu kontejneru, aserce politiky zdrojů a bezpečnostní kontroly.
Proč
Kontrola je místo, kde tyto kontroly přestávají být volitelné. Přidání samostatného workflow pro nasazení by roztříštilo příběh ověřování, který repozitář již jednou sjednotil.
Aktuální stav
Existují dva workflow: validace a pages. Ani jeden neví nic o nasazení.
Cílový stav
Jedna kontrola pokrývá kontroly nasazení vedle všeho ostatního, používá stávající cache a nikdy nenasazuje z pull requestu.
Rozsah
- .github/workflows/validate.yml
Mimo rozsah
- Druhý překrývající se soubor workflow
- Nasazení do produkce z pull requestu
Závislosti
- I0919BLOKOVÁNO Nic tajného a nic lokálního neopouští image
- I0921BLOKOVÁNO Velikost se nejprve měří a teprve potom rozpočtuje
- I0930BLOKOVÁNO Skutečný image běží pod skutečnými limity, než se cokoli nasadí
Co na tom čeká
Kritéria přijetí
- Kontrola pull requestu spouští testy, validaci modelu nasazení, kontrolu driftu projekcí, sestavení webu, sestavení produkčního image, smoke běh kontejneru, aserce politiky zdrojů a bezpečnostní kontroly
- Žádná cesta pull requestu nemůže nasadit do produkce
- Používá se cache, aby přidané kontroly neučinily kontrolu nepoužitelnou
- Přidané kontroly patří do stávající hierarchie ověřování, ne do nepropojeného skriptu
Validace
- bash test/run.sh
Požadované důkazy
- pr_gate
- gate_green
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á.
Riziko
Kontrola, která trvá hodinu, je kontrola, kterou lidé obcházejí. Sestavení kontejneru musí být cachováno dost dobře, aby přidaný čas byl přiměřený.
Č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/I0928.yaml. Přečtěte jej zpět pomocí majordomus plan show I0928.