fix(preflight): asset mode retries a move that fails, names the cause and rolls back (#197)
A part of the stack that will not move from the unpack folder into place is retried for about 30 seconds; each retry removes what reached the target and unpacks the entry afresh from the archive, so the entry ends up there once and whole. If it still fails, both scripts take back everything they moved and exit 1 with the system's message and "nothing was installed". New test hook CHEMENU_PREFLIGHT_MOVE_FAIL=<entry>:<n>[:partial]. Files changed: - CHANGES.md - INSTALL.md - VERSION - instructions/preflight.md - tools/CONTRACT.md - tools/chemenu/tests/conftest.py - tools/chemenu/tests/test_preflight.py - tools/chemenu/tests/test_preflight_pwsh.py - tools/preflight.ps1 - tools/preflight.sh Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
1 parent
5915b07383
commit
5c9be38aa8
10 files changed
+379
-47
No files matched your search
+4
-2
@@ -72,8 +72,10 @@ Until it has passed, every `tools/wikitool` call exits 42 and names it.
|
||||
|
||||
A release also carries both scripts as assets (`preflight.sh`, `preflight.ps1`) for the very
|
||||
first install, before there is a tree: run from a folder with no `tools/prerequisites.txt` beside
|
||||
them, they download and verify the release tarball, unpack it into `chemenu/` next to themselves
|
||||
(or `--into <path>`), and run the preflight inside the unpacked tree.
|
||||
them, they download and verify the release tarball, unpack it into the folder they lie in (or
|
||||
`--into <path>`), and run the preflight inside the unpacked tree. A part of the stack that will
|
||||
not move into place is retried for about 30 seconds; if it still fails, they take back what they
|
||||
moved and exit 1, leaving the folder as it was.
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
Reference in new issue
Block a user