Fix setup-tools action with directory existence checks #2741
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
Problem
The setup-tools action was failing on macOS and Windows because it attempted to delete directories that don't exist on those platforms using rsync with strict error handling (
set -euxo pipefail).Solution
Modified
.github/actions/setup-tools/action.ymlto check if each directory exists before attempting deletion:[ -d /path ]to check directory existence&&operator)|| trueto prevent pipefail from triggeringChanges
Validation
CI will verify that:
✅ Resolution Confirmed
Status: All CI checks passed successfully (19/19 jobs)
Evidence:
Impact:
if: runner.os == 'Linux'condition already limits this step to Linux, but the added checks provide defense-in-depthTrade-offs:
Follow-up: