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.

I2882 — Vzdálený derive staví jen uvnitř svého vlastního adresáře běhu

Vzdálený skript derive offloadu připíná sestavovací adresář cargo, nejen jeho cílový adresář, k běžnému adresáři `<shared>-<tag>`, který jeho pasti odstraňují, takže nic, co vzdálený derive zkompiluje, nepřežije derive na hostiteli, ať uspěje, nebo selže.

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

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

Cíl

Vzdálený skript derive offloadu připíná sestavovací adresář cargo, nejen jeho cílový adresář, k běžnému adresáři `<shared>-<tag>`, který jeho pasti odstraňují, takže nic, co vzdálený derive zkompiluje, nepřežije derive na hostiteli, ať uspěje, nebo selže.

Proč

2026-10-18 lundra dvakrát dosáhla 0 bajtů volného místa. Checkout deklaruje build-dir = {cargo-cache-home}/build-shared/majordomus, takže samotný CARGO_TARGET_DIR offloadu držel každý mezivýsledek ve sdíleném build adresáři hostitele (87 GB, z toho 48 GB llvm-cov-target), mimo to, co odstraňují pasti běhu; vlastník nařídil řešit místo na disku systémově na každém stroji.

Aktuální stav

offload/run.rs DERIVE exportuje CARGO_TARGET_DIR=$private a odstraňuje $private při EXIT/HUP/INT/TERM; CARGO_BUILD_BUILD_DIR se dědí, takže deklarovaný sdílený build-dir dostává meziprodukty.

Cílový stav

DERIVE exportuje CARGO_BUILD_BUILD_DIR=$private vedle CARGO_TARGET_DIR; unit test spustí skutečný skript lokálně s návnadovým adresářem buildu v prostředí a drží, že derive viděl jen adresář běhu, že nic nepřistálo v návnadě a že adresář běhu po úspěšném i po neúspěšném derive zmizí.

Rozsah

  • apps/majordomus-cli/src/offload
  • docs/OFFLOAD.md

Závislosti

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

Kritéria přijetí

  • Adresáře buildu a targetu vzdáleného derive jsou oba adresářem běhu, ať prostředí volajícího jmenuje jakýkoli adresář buildu
  • Adresář běhu se odstraní po derive, který uspěl, i po tom, který selhal (exit 10)
  • Do adresáře buildu pojmenovaného prostředím volajícího se nezapisuje nic

Validace

  • cargo test --lib -- offload::run::tests::a_remote_derive_builds_only_inside_its_run_directory_and_removes_it
  • majordomus plan validate

Požadované důkazy

  • offload_run_dir_test

Důkazy

pokrývátypcommandvýsledeku commitu
offload_run_dir_testcicargo test --lib -- offload::run::tests::a_remote_derive_builds_only_inside_its_run_directory_and_removes_itok in validate run 39192952944, job rust (2) 117890228077 (3482 passed, 0 failed), every job green at master dd4c0a87cba, which contains the fix a4c19d60f0c9a5a9b7

Časová osa

zahájeno
2026-10-20T15:29:44Z
ověřeno
—
dokončeno
2026-10-20T15:30:47Z

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

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