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.

I2942 — Zkušební běh instalátoru nic nemění a průvodce instalací říká jen to, co je pravda

Zabránit tomu, aby `install.sh --dry-run --init` inicializoval repozitář, když je zjištěná verze již nainstalována, a opravit, co dokumenty o instalaci a distribuci ručně uvádějí nepravdivě: adresář klonu v krocích sestavení ze zdrojů, původ release před existencí atestace, jediné volání GitHubu, které instalátor může provést, a image kontejneru, který release workflow již publikuje.

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

Součást adopter-upgrades — Adoptující repozitář přežije upgrade Majordomu a to, co do něj nástroj vendoruje, je neutrální vůči adoptujícímu.

Cíl

Zabránit tomu, aby `install.sh --dry-run --init` inicializoval repozitář, když je zjištěná verze již nainstalována, a opravit, co dokumenty o instalaci a distribuci ručně uvádějí nepravdivě: adresář klonu v krocích sestavení ze zdrojů, původ release před existencí atestace, jediné volání GitHubu, které instalátor může provést, a image kontejneru, který release workflow již publikuje.

Proč

Přehled pravdy před v1.0.0-alpha.1 (2026-10-17, f6 a tato relace, master 707a04c7ce8). (1) share/install/install.sh.in spouštěl `run_init` ve své větvi 'already installed' před větví dry-run, takže `--dry-run --init` inicializoval repozitář; docs/INSTALL.md říká, že --dry-run nic nemění; případ 85 dělá dry-run jen s ničím nainstalovaným. Reprodukováno případem 3342 proti neopravenému instalátoru: zástupný launcher dostal `init`. (2) INSTALL.md.in naklonoval zástupný symbol repozitáře a pak přešel do zástupného symbolu binárky, což vykreslí `cd majordomus` po klonu, který vytvoří prismatic-majordomus. (3) 'every release archive is attested', zatímco releasy v0.3.1-v0.19.1 jsou uvedeny a krok attestace přišel s v0.20.0 (git show v0.19.1:.github/workflows/release.yml žádný nemá). (4) 'never GitHub's API', zatímco volitelná kontrola provenience jej volá přes gh. (5) docs/DISTRIBUTION.md říká, že není implementován žádný image kontejneru, zatímco úloha image v release.yml jej při každém release pushuje na ghcr.io.

Aktuální stav

Dry run může inicializovat repozitář; čtyři tvrzení v dokumentech o instalaci a distribuci jsou nepravdivá.

Cílový stav

Dry run nic nezmění v žádné větvi; dokumenty uvádějí, co dělá instalátor a workflow release.

Rozsah

  • share/install/install.sh.in
  • share/install/INSTALL.md.in
  • site/static/install.sh
  • docs/INSTALL.md
  • docs/DISTRIBUTION.md
  • test/cases/3342_a_dry_run_initialises_nothing.sh

Závislosti

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

Kritéria přijetí

  • S nainstalovanou vyřešenou verzí install.sh --dry-run --init nespustí žádný init a řekne, co by spustil; samotné --init jej stále spustí
  • Kroky sestavení ze zdrojů klonují do adresáře, do kterého poté vstoupí
  • Instalační příručka omezuje attestaci na releasy, které ji mají, a jmenuje kontrolu původu jako jediné volání GitHubu; DISTRIBUTION.md jmenuje image kontejneru

Validace

  • bash test/run.sh 3342_a_dry_run_initialises_nothing 85_installer 86_installer_platform

Požadované důkazy

  • dry_run_case

Důkazy

pokrývátypcommandvýsledeku commitu
dry_run_casetestbash test/run.sh 3342_a_dry_run_initialises_nothing 85_installer 86_installer_platform 97_install_gatetesty: 4 prošly, 0 selhalo (2026-10-18 ~03:15Z na 5b4f8ba6a3a). Dříve červené: 3342 proti site/static/install.sh masteru 707a04c selhává ('--dry-run --init ran init').5b4f8ba

Časová osa

zahájeno
2026-10-18T03:16:08Z
ověřeno
2026-10-18T03:16:23Z
dokončeno
2026-10-18T03:16:44Z

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/I2942.yaml. Přečtěte jej zpět přes majordomus plan show I2942.

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