Skip to content

Commit 4e0b152

Browse files
committed
support escaping multiline secrets
1 parent a5489f7 commit 4e0b152

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

.github/actions/az-sync/action.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ runs:
3737
echo "Processing pattern: $pattern"
3838
for secret_name in $(az keyvault secret list --vault-name ${{ inputs.keyvault }} --query "[?contains(name, '$pattern')].name" -o tsv); do
3939
echo "Sync secret: env.$secret_name"
40-
secret_value="$(az keyvault secret show --only-show-errors --name "$secret_name" --vault-name ${{ inputs.keyvault }} --query value -o tsv)"
41-
echo '::add-mask::$(echo "$secret_value" | sed ':a;N;$!ba;s/%/%25/g' | sed ':a;N;$!ba;s/\r/%0D/g' | sed ':a;N;$!ba;s/\n/%0A/g')'
42-
echo "$secret_name=$secret_value" >> "$GITHUB_ENV"
40+
secret_value=$(az keyvault secret show --only-show-errors --name "$secret_name" --vault-name ${{ inputs.keyvault }} --query value -o tsv)
41+
escaped_secret=$(printf '%s' "$secret_value" | sed ':a;N;$!ba;s/%/%25/g' | sed ':a;N;$!ba;s/\r/%0D/g' | sed ':a;N;$!ba;s/\n/%0A/g')
42+
echo "::add-mask::$escaped_secret"
43+
echo "$secret_name=$escaped_secret" >> $GITHUB_ENV
4344
done
4445
done
4546
IFS=$old_IFS

0 commit comments

Comments
 (0)