@@ -92,46 +92,49 @@ runs:
9292 PG_VERSION="$INPUT_PG_VERSION"
9393 VERBOSE="$INPUT_VERBOSE"
9494
95- COMMAND=" squawk"
95+ COMMAND=( squawk)
9696
9797 if "$ASSUME_IN_TRANSACTION"; then
98- COMMAND="$COMMAND --assume-in-transaction"
98+ COMMAND+=( --assume-in-transaction)
9999 fi
100100
101101 if [ -n "$CONFIG" ]; then
102- COMMAND="$COMMAND --config=$CONFIG"
102+ COMMAND+=(" --config=$CONFIG")
103103 fi
104104
105105 if [ -n "$EXCLUDE" ]; then
106- COMMAND="$COMMAND --exclude=$EXCLUDE"
106+ COMMAND+=(" --exclude=$EXCLUDE")
107107 fi
108108
109109 if [ -n "$PG_VERSION" ]; then
110- COMMAND="$COMMAND --pg-version=$PG_VERSION"
110+ COMMAND+=(" --pg-version=$PG_VERSION")
111111 fi
112112
113113 if "$VERBOSE"; then
114- COMMAND="$COMMAND --verbose"
114+ COMMAND+=( --verbose)
115115 fi
116116
117117 # We can only leave a comment when we run on pull_request.
118118 if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
119119 if "$UPLOAD_TO_GITHUB"; then
120- COMMAND="$COMMAND upload-to-github"
120+ COMMAND+=( upload-to-github)
121121 fi
122122
123123 if "$FAIL_ON_VIOLATIONS"; then
124- COMMAND="$COMMAND --fail-on-violations"
124+ COMMAND+=( --fail-on-violations)
125125 fi
126126 fi
127127
128128 if [ -n "$FILES" ]; then
129- COMMAND="$COMMAND $FILES"
129+ # FILES is a space-separated list of paths (no globs).
130+ read -ra FILES_ARRAY <<< "$FILES"
131+ COMMAND+=("${FILES_ARRAY[@]}")
130132 fi
131133
132134 if [ -n "$PATTERN" ]; then
133- expandedFiles=$(find . \( -path "./$PATTERN" -or -path "$PATTERN" \) -type f | xargs echo)
134- COMMAND="$COMMAND $expandedFiles"
135+ while IFS= read -r -d '' file; do
136+ COMMAND+=("$file")
137+ done < <(find . \( -path "./$PATTERN" -or -path "$PATTERN" \) -type f -print0)
135138 fi
136139
137140 export SQUAWK_GITHUB_API_URL=$GITHUB_API_URL
@@ -140,5 +143,5 @@ runs:
140143 export SQUAWK_GITHUB_REPO_NAME=$(jq --raw-output .repository.name "$GITHUB_EVENT_PATH")
141144 export SQUAWK_GITHUB_PR_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")
142145
143- echo "Running: $COMMAND"
144- sh -c "$ COMMAND"
146+ echo "Running: ${ COMMAND[*]} "
147+ "${ COMMAND[@]} "
0 commit comments