hack: quote dirname substitution and REPO_ROOT_DIR in release.sh#8992
hack: quote dirname substitution and REPO_ROOT_DIR in release.sh#8992Ankitsinghsisodya wants to merge 2 commits intoknative:mainfrom
Conversation
Unquoted command substitutions and variables break on paths containing
whitespace. Quote $(dirname "$0") and ${REPO_ROOT_DIR} to handle
paths with spaces correctly.
|
Hi @Ankitsinghsisodya. Thanks for your PR. I'm waiting for a knative member to verify that this patch is reasonable to test. If it is, they should reply with Tip We noticed you've done this a few times! Consider joining the org to skip this step and gain Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
There was a problem hiding this comment.
Pull request overview
This PR hardens hack/release.sh against paths containing whitespace by ensuring the script invocation and copy destination don’t undergo unintended word-splitting, addressing issue #8991.
Changes:
- Quote the
dirnamecommand substitution used to locate and rungenerate-yamls.sh. - Quote
${REPO_ROOT_DIR}in thecpdestination so repo paths with spaces work correctly.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks for the cleanup @Ankitsinghsisodya |
|
@Ankitsinghsisodya I see a lot of the "quote XYZ in ABC.sh". Can you combine those PRs into one? |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8992 +/- ##
==========================================
+ Coverage 51.02% 51.04% +0.02%
==========================================
Files 409 409
Lines 22001 21990 -11
==========================================
Hits 11225 11225
+ Misses 9914 9903 -11
Partials 862 862 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-authored-by: Christoph Stäbler <cstabler@redhat.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Ankitsinghsisodya The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
- generate-yamls.sh: quote YAML_OUTPUT_DIR in rm command - release.sh: quote dirname substitution, REPO_ROOT_DIR in cp, and $@ - verify-codegen.sh: quote REPO_ROOT_DIR inside mktemp call Unquoted variable expansions and command substitutions break when paths contain whitespace. Closes knative#8990 Closes knative#8992 Closes knative#9004
#9018) * hack: fix unquoted variables in hack scripts to prevent word-splitting - generate-yamls.sh: quote YAML_OUTPUT_DIR in rm command - release.sh: quote dirname substitution, REPO_ROOT_DIR in cp, and $@ - verify-codegen.sh: quote REPO_ROOT_DIR inside mktemp call Unquoted variable expansions and command substitutions break when paths contain whitespace. Closes #8990 Closes #8992 Closes #9004 * hack: use mapfile array for safe multi-file cp in release.sh Using a quoted space-delimited string with cp treats all paths as a single argument and breaks with multiple files. Read YAML_LIST into a local array with mapfile for the cp call, while keeping ARTIFACTS_TO_PUBLISH as a space-separated string that the upstream knative/hack release.sh expects. * hack: remove unused ARTIFACTS_TO_PUBLISH variable * ci: update actions/checkout to v6 in knative-downstream workflow * Revert "ci: update actions/checkout to v6 in knative-downstream workflow" This reverts commit 28805a6.
Fixes #8991
Summary
$(dirname "$0")to handle script paths with spaces${REPO_ROOT_DIR}in thecpdestination to prevent word-splittingUnquoted command substitutions and variable expansions break when paths contain whitespace.