Fix Netlify retry logic with pipefail #22258
Open
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.
Summary
teecommand was masking Jekyll's exit code, making failed builds appear successfulset -o pipefailto properly propagate exit codes through the pipelineThe Bug
When Jekyll failed with a network error like:
The pipeline
bundle exec jekyll build ... | tee "$build_log"would returntee's exit code (0) instead of Jekyll's exit code (non-zero), so the retry logic never kicked in.Testing This PR
This PR includes a network error simulation that's enabled for the deploy preview:
SIMULATE_NETWORK_ERROR=1- enables simulationSIMULATE_NETWORK_ERROR_ATTEMPTS=2- fails first 2 attemptsExpected behavior on the deploy preview:
Check the Netlify deploy logs to verify retry logic is working.
Before Merging
Remove these lines from
netlify.toml:Related
Fixes retry logic from #20409