Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,18 @@ progress JSON is uploaded to `policyengine/populace-us-staging` while the build
runs (best-effort — a missing token or failed upload never fails the build), so
every candidate shows up on the staging dashboard before it is published.
Disable with `--no-staging`, or point elsewhere with `--staging-repo-id` /
`POPULACE_STAGING_REPO_ID`. An *empty* `POPULACE_STAGING_REPO_ID` is ignored
`POPULACE_STAGING_REPO_ID`. Uploads run on a background thread every 300 s
(`--staging-upload-interval-seconds`), so a slow or unreachable Hub never
stalls the build, and SIGTERM marks the run failed. Exact-count (`--exact-k`)
builds stage too, under their own `runs/<run_id>/` prefix only: they never
move `latest_staging.json` or `runs.json`. A build whose Hugging Face token
cannot write the staging repository is never refused: it warns, keeps its
telemetry under `runs/<run_id>/` locally, and builds as usual. Upload that
folder later from any machine with a token:

```bash
uv run python tools/restage_us_staging_run.py --run-dir <release_root>/staging/runs/<run_id>
``` An *empty* `POPULACE_STAGING_REPO_ID` is ignored
rather than read as off, and staging with no destination at all is an argparse
error — `--no-staging` is the only way a build produces no telemetry.

Expand Down
1 change: 1 addition & 0 deletions changelog.d/us-staging-on-every-build.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
US fiscal-refresh staging telemetry is now safe to leave on for every build. Exact-count builds stage under their own `runs/<run_id>/` prefix and never write `latest_staging.json` or `runs.json`, so `--exact-k` no longer requires `--no-staging` and the exact-k ladder launcher stops passing it. The release uploads from a background thread, so a slow or unreachable Hub never stalls the build; the terminal upload is awaited for at most 120 s. `--staging-upload-interval-seconds` defaults to 300 s (was 30 s), as for UK builds, because each cycle is up to six single-file Hub commits. SIGTERM now raises `BuildTerminatedError`, so a supervisor or budget stop marks the staging run failed instead of leaving it `running`. A build without a token that can write the staging repository is never refused: it warns at the start, keeps its telemetry local, records `delivery_check` in the run manifest, and builds as usual; `tools/restage_us_staging_run.py --run-dir <run folder>` uploads the run later from any machine with a token.
Loading
Loading