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.

I3930 — The suite is dealt from the seconds it costs now, and the record that deals it says when it falls behind

Deal the four suite shards from measured case seconds: an unrecorded case weighs the record's median, the record is refreshed from a measured run, and every run names the cases the record lacks or under-weighs and writes the record it measured.

PŘIPRAVENO vlna 0 · p1 · profil debugging · bezpečné paralelně

Součást ci-critical-path — Kritická cesta od změny k jejímu verdiktu a od mergi k ověřenému nasazení běží za tepla pod minutu.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3930 bude přijato.

Cíl

Deal the four suite shards from measured case seconds: an unrecorded case weighs the record's median, the record is refreshed from a measured run, and every run names the cases the record lacks or under-weighs and writes the record it measured.

Proč

The deal is the critical path's floor. On 2026-10-22 the record held 410 of 602 cases, an unrecorded case weighed a guessed 300 s against a median of 9, and run 39762797718's shards ran 87, 52, 82 and 43 minutes. Nothing failed, so nothing said so: the cost was wall clock on every pull request.

Aktuální stav

.ai/repo/ci/suite-durations.tsv was last refreshed on 2026-10-10; test/run.sh deals an unrecorded case at 300 s; scripts/ci/suite-budget reads the record only for NEAR lines.

Cílový stav

test/run.sh deals an unrecorded case at the record's median; the record holds the seconds runs 39762797718 and 39634495999 measured; suite-budget prints STALE for each case the record lacks and DRIFT for each case at more than twice its record, and with --write-durations writes the record the run measured, which the suite job uploads in ci-metrics-suite. Simulated on the same runs, the shards' case seconds go from 15237/11769/18483/8355 to 13450/13452/13493/13449.

Rozsah

  • test/run.sh
  • .ai/repo/ci/suite-durations.tsv
  • scripts/ci/suite-budget
  • .github/workflows/validate.yml
  • test/cases/721_the_suite_shards_are_the_whole_suite.sh
  • test/cases/3084_a_case_near_its_budget_is_named.sh
  • .ai/repo/project/issues/I3930.yaml

Mimo rozsah

  • Raising or lowering any budget or bound in .ai/repo/ci/suite.yaml
  • Making the slowest case cheaper (I2115 holds 486_rustdoc_composition at 4017 s, the shard floor)
  • Committing the record from CI; refreshing it stays a reviewed change

Závislosti

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

Kritéria přijetí

  • An unrecorded case is dealt at the record's median, and case 721 fails when it is dealt above it
  • The record holds every case the measured runs ran, and the shards' simulated case seconds are within 1% of each other
  • suite-budget names STALE and DRIFT cases and writes the measured record without changing its exit status, and case 3084 holds all three
  • The suite job uploads the record it measured beside suite.tsv

Validace

  • bash test/run.sh 721_the_suite_shards_are_the_whole_suite 3084_a_case_near_its_budget_is_named 94_ci_plan 1021_a_push_runs_what_ci_would_find_first 417_the_suite_finishes_inside_its_bound
  • scripts/ci/shell-lint

Požadované důkazy

  • sada testů

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á.

Riziko

A refreshed record is a snapshot of one runner's load; the median default and the per-run STALE and DRIFT lines are what keep a stale record from costing wall clock again.

Č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/I3930.yaml. Read it back with majordomus plan show I3930.

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