Repository navigation
fix(scripts): tolerate SIGPIPE in bootstrap_secrets randstr - #356
Merged
Merged
Conversation
`head -c` closes the pipe once it has enough bytes, so `tr` exits 141. Under `set -euo pipefail` the command substitution then aborts the script on a fresh checkout (no secrets/*.env yet), failing `make test` at setup_secrets with Error 141. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
vedharish
approved these changes
Nov 11, 2026
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.
Problem
On a fresh checkout (no
secrets/*.env),make testfails atsetup_secretswithError 141.randstr()pipestrintohead -c N. Onceheadhas enough bytes it closes the pipe andtris killed by SIGPIPE (exit 141). The script runs withset -euo pipefail, so the pipeline status aborts it.Fix
Append
|| trueto the pipeline inrandstr()so the expected SIGPIPE is ignored. The output is unaffected.Testing
*.env.samplefiles into an empty temp dir and ran it: exit 0, all four*.envfiles created, no__CHANGE_ME__placeholders left.MYSQL_ROOT_PASSWORD/APP_TOKENare provided.Not included: the Dockerfile still uses the EOL
python:3.11-slim-bullseyebase image (apt 404s on a fresh build). That is a separate decision and is not part of this PR.🤖 Generated with Claude Code