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.

I2054 — Tag nezčervená každý další pull request, dokud nepřistane jeho záznam

Od chvíle, kdy se pushne tag releasu, do chvíle, kdy je jeho záznam na masteru, pull request, který se releasů vůbec netýká, drží zelený job structure. Buď scripts/ci/release-check drží publikovaný tag bez záznamu jen tehdy, když žádný otevřený pull request tento záznam nenavrhuje, nebo se záznam navrhne dřív, než se tag pushne; volba je na implementujícím a zapíše se s tím, co stojí.

HOTOVO vlna 0 · p1 · profil implementation · běží samostatně

Součást development-runtime — The runtime has a development surface.

Cíl

Od chvíle, kdy se pushne tag releasu, do chvíle, kdy je jeho záznam na masteru, pull request, který se releasů vůbec netýká, drží zelený job structure. Buď scripts/ci/release-check drží publikovaný tag bez záznamu jen tehdy, když žádný otevřený pull request tento záznam nenavrhuje, nebo se záznam navrhne dřív, než se tag pushne; volba je na implementujícím a zapíše se s tím, co stojí.

Proč

scripts/ci/release-check selže v úloze structure každé větve, která nenese záznam publikované verze, a záznam potřebuje vlastní plný běh CI, aby přistál, takže každý tag zastaví frontu asi na dvě hodiny. Při častých releasech je to většina pracovního dne.

Aktuální stav

Změřeno 2026-10-08 s v0.17.0: pull requesty 823, 824, 820 a 821 a druhé kolo 816 každý zčervenaly kvůli jednomu nálezu — verze je publikována a vrstva pro ni nemá záznam release —, zatímco běžel pull request záznamu 822. Reprodukováno lokálně na ad3c2b93f4: release-check hlásí ten jeden nález a nic jiného. Případ 996 (v pull requestu 816) dává pull requestu záznamu jeho kontroly dispatchem, což čekání zkracuje, ale neodstraňuje.

Cílový stav

Tag a přistání jeho záznamu jsou neviditelné pro pull request, který se nedotýká žádného souboru release; publikovaná verze bez záznamu a bez pull requestu, který by jej navrhoval, je stále odmítnuta.

Rozsah

  • scripts/ci/release-check
  • .github/workflows
  • .ai/repo/ci
  • apps/majordomus-cli/src/release
  • test/cases
  • dokumentace

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • Případ publikuje tag ve fixtuře, nechá jeho záznam navržený a nepřistálý a větev, která nemění žádný soubor release, projde release-check
  • Tentýž případ ukazuje, že publikovaná verze bez záznamu, kterou nic nenavrhuje, je stále odmítnuta
  • Dokument popisující release říká, v jakém pořadí se vytvářejí tag a záznam a proč

Validace

  • scripts/ci/release-check

Požadované důkazy

  • a_tag_does_not_freeze_the_queue

Důkazy

pokrývátypcommandvýsledeku commitu
a_tag_does_not_freeze_the_queuetestMJ_TEST_JOBS=2 bash test/run.sh 3021_a_tag_does_not_freeze_the_queue 103_release_projectiontesty: 2 prošly, 0 selhaly; docs/DISTRIBUTION.md#releasing říká pořadí a proč (běh 2026-10-14 14:52Z na masteru 0dff496d1c plus tato změna)0dff496

Riziko

Uvolnění kontroly čtením otevřených pull requestů dělá z kontroly struktury závislost na forge; navrhování záznamu před tagem mění pořadí release, které dodržuje každá relace.

Časová osa

zahájeno
2026-10-14T14:52:51Z
ověřeno
—
dokončeno
2026-10-14T14:53:16Z

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

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