myxce/src/tools
Rongsong Shen 980a0054d1
fix(tools): one xce-build.sh run per build dir at a time (bug-1604)
Two xce-build.sh runs against the same build dir raced: one run's
setup_build rm -rf hit files the other was writing ('Directory not
empty'), or deleted a binary the other had just built and tested.

xce-build.sh now takes an exclusive per-build-dir lock right after cd-ing
into src/ and holds it until it exits; a second run against the same dir
waits, runs against different dirs are unaffected. The lock
(src/tools/build-lock.sh) is an mkdir lock holding the owner PID, outside
the build dir, keyed by a hash of its absolute path; it needs only
coreutils (the nix dev shell has no flock) and takes over a lock whose
owner died. src/tools/test-build-lock.sh tests it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 03:43:48 +00:00
..
appimage save works 2026-03-04 18:18:53 +08:00
build-lock.sh fix(tools): one xce-build.sh run per build dir at a time (bug-1604) 2026-09-30 03:43:48 +00:00
deploy-ha.sh fix(xce-test-multihost): deploy with a fixture config set that clears limits (bug-1857) 2026-09-25 13:15:03 +00:00
go_build build: make Go and Python builds fully offline (hermetic Nix build) 2026-09-03 12:38:49 +08:00
test-build-lock.sh fix(tools): one xce-build.sh run per build dir at a time (bug-1604) 2026-09-30 03:43:48 +00:00
test-build-version-regression.sh test(build-time-versioning): add motivating-incident regression script 2026-08-20 15:14:21 +00:00
test-commit-durability.sh fix: repoint stale controller/xce_test path references to harness/xce_test 2026-09-14 11:49:01 +00:00
test-dirty-fingerprint-distinguishability.sh test(dirty-content-fingerprint): add dev-loop distinguishability regression 2026-08-21 09:56:12 +00:00
test-dirty-fingerprint-nix-production-path.sh test(dirty-content-fingerprint): add Nix production path fingerprint check 2026-08-21 11:12:15 +00:00
test-dirty-fingerprint-startup-log-unchanged.sh test(dirty-content-fingerprint): add startup-log-unchanged consistency check 2026-08-21 10:17:39 +00:00
test-heartbeat-tolerance.sh feat(admin-config-tool): drop ha/data/ entirely, match real client TLS 2026-07-22 14:50:51 +00:00
test-version-startup-consistency.sh test(build-time-versioning): add version/startup-log consistency check 2026-08-20 16:38:37 +00:00
test-xceadmin-build-install-version.sh test(build-time-versioning): add xceadmin end-to-end build/install/version cycle check 2026-08-20 17:02:01 +00:00
xce-build.sh fix(tools): one xce-build.sh run per build dir at a time (bug-1604) 2026-09-30 03:43:48 +00:00