Repository navigation
fix(configurator): clean up immutable staging directories safely - #125
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
lweberru
requested review from
BackInBash,
Breeless,
JoshSTACKIT,
LembDo and
dweezl
as code owners
October 21, 2026 06:53
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dev release 39556768148 passed application, database, browser, native OpenTofu and real image-backed Runner checks. Both thin archives restored the exact qualified package identity. The build then failed in the staging verifier's
finallycleanup: its extracted provider directories are deliberately read-only, so recursive removal raisedEACCESunder the non-root GitHub runner. No artifact was published and no deployment occurred.After qualification, make only directories inside the verifier's temporary staging tree writable before removing it. Use
lstatand avoid traversing symlinks, preserving the original Runner/provider mirror, file permissions and package bytes. Keep all qualification assertions and deployment gates unchanged. Include the staging regressions in the ordinary PR operator checks so this permission failure is caught before a release. Update the English/German image-staging runbook.Validation:
EACCESwith an immutable provider tree, then verifies cleanup succeeds while a symlink target's directory mode, provider inode, file mode and bytes remain unchanged.dev-skip-assistant-qualification.npm run check: 977 passed, 69 existing default-gated skips; script lint andgit diff --checkpass.After merge, start a fresh Dev release with
release_mode=dev-skip-assistant-qualification,runner_pool_size=1,build_only=falseand emptyrelease_run_id. The failed run remains evidence; no re-run or gate bypass. Hosted warm-pool handoff and replacement verification remains required. No production or customer infrastructure Apply.