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.

I2660 — Web se publikuje jako artefakt úlohou, která jej sestavila, takže hotový web nečeká na druhý workflow

Odstranit z publikace druhou frontu: job, který web sestavil a zkontroloval, jej předá GitHub Pages sám, a jediný publisher zapisuje vše, co web servíruje.

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 I2660 bude přijato.

Cíl

Odstranit z publikace druhou frontu: job, který web sestavil a zkontroloval, jej předá GitHub Pages sám, a jediný publisher zapisuje vše, co web servíruje.

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: Pages má build_type legacy z větve gh-pages, takže po našem pushi GitHub spouští vlastní workflow „pages build and deployment“ o třech jobech ve stejném poolu runnerů. Běh 38458452794: build běžel 77 s a jeho job deploy, 19 s práce, byl vytvořen v 19:57:22Z a začal v 20:44:25Z, o 47 minut později. Workflow release také zapisuje do gh-pages (releasy, instalátor), takže větev má dva zapisovatele.

Cílový stav

Úloha nasazení nahraje sestavený web jako artefakt Pages a nasadí ho ve stejném běhu; nic nečeká na workflow, které tento repozitář nespouští. Cokoli workflow release publikuje, se na web dostane tímto jediným publikátorem. Doba od merge do /build.json, který jmenuje jeho commit, se měří při každém běhu a její mez je deklarována v .ai/repo/ci/pages.yaml.

Rozsah

  • .github/workflows/pages.yml
  • .github/workflows/release.yml
  • scripts/site-deploy
  • scripts/pages
  • .ai/repo/ci/pages.yaml
  • docs/GITHUB_PAGES_ARCHITECTURE.md
  • docs/PAGES_STATUS.md
  • .ai/repo/project/issues/I2660.yaml

Mimo rozsah

  • Co web obsahuje
  • Velikost poolu runnerů, kterou určuje účet

Závislosti

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

Kritéria přijetí

  • Publikace nepotřebuje žádný jiný workflow než ten, který ji sestavil; zdrojem Pages repozitáře je workflow a změna tohoto nastavení se zaznamenává s tím, kdo ji provedl
  • Adresář releasů a instalátor se po nasazení obsluhují přesně jako před ním, což dokládají publikační sondy
  • Je zaznamenán čas od merge po nasazení u tří po sobě jdoucích nasazení a žádné nečeká na runner poté, co byl web sestaven
  • Ruční deploy z terminálu má stále jednu cestu a říká, co nedokáže

Validace

  • bin/majordomus plan validate
  • scripts/pages verify --smoke
  • MJ_TEST_JOBS=2 bash test/run.sh 2983_the_published_ui_is_the_trunks 489_rustdoc_deploy

Požadované důkazy

  • three_deployments_merge_to_served_seconds
  • publication_probes_after_the_switch

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

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