fix: hold the pipeline's fixed outputs for a run

The pipeline locked only --output-dir while it also writes database.json,
install/, README.md and docs/. A run on a scratch output directory could
start beside the run on dist/ and rewrite them. Every run now holds the
repository's .lock first.
This commit is contained in:
Abdessamad Derraz committed 2026-10-21 09:53:15 +02:00
1 parent 43337c6719
commit 12cc71b634
5 files changed
+75 -8

No files matched your search

+5 -2
View File
@@ -88,8 +88,11 @@ alone, run `python scripts/check_buildbot_system.py`.
rewrites nothing, so a diff on a generated file always means content.
- **One run per output directory.** Pack generation takes a lock on
`<output-dir>/.lock`, and a second run on the same folder stops at once
rather than read a half-written ZIP. Experiments use a scratch
`--output-dir` under `tmp/`.
rather than read a half-written ZIP. Pack experiments with
`generate_pack.py` use a scratch `--output-dir` under `tmp/`. A pipeline
run also writes `database.json`, `install/`, `README.md` and `docs/` at
fixed paths, so it holds the repository's `.lock` as well, and a second
pipeline is refused whatever its `--output-dir`.
- **Read the exit status before the output.** A generator that crashed leaves
the previous artifact in place, which reads exactly like a run that changed
nothing.