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.

I3239 — One job builds a run's executable and every other job of that run uses it

Build the debug executable once per validate run, upload it, and have suite-shard, evidence, ui, mesh-lab and the site jobs download it as MAJORDOMUS_BIN instead of running cargo build each. macOS keeps its own build.

BLOKOVÁNO vlna 6 · p1 · profil implementation · bezpečné paralelně

Part of a-change-is-judged-in-minutes — A change is derived in under a second and judged in minutes, and nothing that could have changed is skipped.

Blocked. This issue cannot start until I3242 is done. The status is derived from that, not declared.

Cíl

Build the debug executable once per validate run, upload it, and have suite-shard, evidence, ui, mesh-lab and the site jobs download it as MAJORDOMUS_BIN instead of running cargo build each. macOS keeps its own build.

Proč

c228#3 and c195#2: build once and let consumers download products; every job otherwise pays restore, compile and link. It extends milestone ci-critical-path. Sources: chatgpt-majordomus:c195#2, chatgpt-majordomus:c228#3, chatgpt-majordomus:c019#0, chatgpt-majordomus:c019#4.

Aktuální stav

Measured on master 707a04c, 2026-10-18: validate.yml has five `cargo build --quiet --locked` steps, in the suite-shard, evidence, ui, mesh-lab and macos jobs (grep -c), and 18 suite cases call cargo build, run or test directly (grep -l over test/cases/*.sh). Only the plan artifact is shared.

Cílový stav

One Linux build per run; the artifact carries its generation, and a consumer refuses a mismatched one.

Rozsah

  • .github/workflows/validate.yml
  • test/lib.sh
  • test/cases/3019_a_failed_branch_run_cancels_itself.sh
  • lib/rust_bin.sh
  • scripts/ci-plan
  • .ai/repo/ci/plan.yaml
  • scripts/ci/run-plan
  • scripts/ci/evidence-collect
  • scripts/ci/mesh-lab-evidence

Mimo rozsah

  • Uploading the whole target directory
  • Release builds (I2353, rescue)

Závislosti

Kritéria přijetí

  • Exactly one Linux cargo build step per validate run (a case reads the workflow)
  • Each consumer's job time falls by its former build time, measured on GitHub
  • A consumer given an executable of another generation fails
  • Validation runs bash test/run.sh 3019_a_failed_branch_run_cancels_itself (the case on disk) and the one-build case this issue adds
  • test/lib.sh and the 18 suite cases that call cargo build/run/test directly use the downloaded MAJORDOMUS_BIN, or are listed as exempt with their measured compile cost
  • Per-job time is compared with I3242's committed GitHub baseline, suite shards included

Validace

  • scripts/ci-plan --check
  • bash test/run.sh 3019_a_failed_branch_run_cancels_itself

Požadované důkazy

  • one_build_per_run_case
  • per_job_time_before_after

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.

Canonical record: .ai/repo/project/issues/I3239.yaml. Read it back with majordomus plan show I3239.

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