fix(install): clean exit from install.sh (cleanup trap under set -u) - #31
Merged
Conversation
The EXIT trap (rm -rf "$tmp") runs in global scope, but tmp was declared local
to main(), so under `set -u` a successful install ended with "tmp: unbound
variable" and exit 1. The binary installed fine, but the script reported failure
and left the temp dir behind. Make tmp a global and guard the trap with
${tmp:-}.
Verified end-to-end against the v3.0.0 release in a debian:12 container:
download, checksum, install, cleanup, and `pzmod --version` all exit 0. This
also fixes the release workflow's test-install jobs.
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.
Fix install.sh clean exit (cleanup trap under
set -u)The v3.0.0 release published fine, but the
test-installsmoke tests went red.Cause:
install.sh'sEXITtrap (rm -rf "$tmp") runs in global scope, whiletmpwas declaredlocaltomain(). Underset -u, a successful installthen ended with
tmp: unbound variableand exit 1 (binary installed correctly,but the script reported failure and left the temp dir).
Fix
tmpa global so the trap can see it.${tmp:-}.Verified
End-to-end in a
debian:12container against the published v3.0.0 release:download, checksum, install, cleanup, and
pzmod --version/pzmod helpallexit 0. This also turns the release workflow's
test-installjobs green forfuture releases.
Note: only the install script (served from
main) was affected; the v3.0.0binaries and the container image are correct and need no re-release.