Skip to content

Commit 08ba143

Browse files
committed
chore: set double quotes to expand strings
1 parent 285bfc2 commit 08ba143

File tree

7 files changed

+51
-25
lines changed

7 files changed

+51
-25
lines changed

.github/workflows/bootstrap_region.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ jobs:
6969
REGION: ${{ inputs.region }}
7070
working-directory: build/project
7171
run: |
72+
set -euo pipefail
7273
npx cdk init app --language=typescript
7374
AWS_REGION="$REGION" npx cdk bootstrap
7475
@@ -104,4 +105,6 @@ jobs:
104105
env:
105106
BALANCE_ROLE_ARN: ${{ secrets.BALANCE_ROLE_ARN }}
106107
REGION: ${{ inputs.region }}
107-
run: balance -read-region us-east-1 -write-region $REGION -write-role $BALANCE_ROLE_ARN -layer-name AWSLambdaPowertoolsTypeScriptV2 -dry-run=false
108+
run: |
109+
set -euo pipefail
110+
balance -read-region us-east-1 -write-region "$REGION" -write-role "$BALANCE_ROLE_ARN" -layer-name AWSLambdaPowertoolsTypeScriptV2 -dry-run=false

.github/workflows/layer_balance.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,15 @@ jobs:
6666
if: ${{ inputs.start_at == '' }}
6767
env:
6868
REGION: ${{ inputs.region }}
69-
run: balance -read-region us-east-1 -write-region $REGION -write-role $BALANCE_ROLE_ARN -layer-name AWSLambdaPowertoolsTypeScriptV2 -dry-run=false
69+
run: |
70+
set -euo pipefail
71+
balance -read-region us-east-1 -write-region "$REGION" -write-role "$BALANCE_ROLE_ARN" -layer-name AWSLambdaPowertoolsTypeScriptV2 -dry-run=false
7072
- id: run-balance-existing
7173
name: Run Balance (Existing Region)
7274
if: ${{ inputs.start_at != '' }}
7375
env:
7476
REGION: ${{ inputs.region }}
7577
START_AT: ${{ inputs.start_at }}
76-
run: balance -read-region us-east-1 -start-at $START_AT -write-region $REGION -write-role $BALANCE_ROLE_ARN -layer-name AWSLambdaPowertoolsTypeScriptV2 -dry-run=false
78+
run: |
79+
set -euo pipefail
80+
balance -read-region us-east-1 -start-at "$START_AT" -write-region "$REGION" -write-role "$BALANCE_ROLE_ARN" -layer-name AWSLambdaPowertoolsTypeScriptV2 -dry-run=false

.github/workflows/layers_partition_verify.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ jobs:
9494
VERSION: ${{ inputs.version }}
9595
# fetch the specific layer version information from the us-east-1 commercial region
9696
run: |
97-
aws --region us-east-1 lambda get-layer-version-by-arn --arn 'arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:$VERSION' > AWSLambdaPowertoolsTypeScriptV2.json
97+
set -euo pipefail
98+
aws --region us-east-1 lambda get-layer-version-by-arn --arn "arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${VERSION}" > AWSLambdaPowertoolsTypeScriptV2.json
9899
- name: Store Metadata
99100
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
100101
with:
@@ -139,12 +140,18 @@ jobs:
139140
VERSION: ${{ inputs.version }}
140141
PARTITION_VERSION: ${{ inputs.partition_version }}
141142
run: |
142-
echo 'partition_version=$([[ -n "$PARTITION_VERSION" ]] && echo $PARTITION_VERSION || echo $VERSION )' >> "$GITHUB_OUTPUT"
143+
set -euo pipefail
144+
if [ -n "${PARTITION_VERSION:-}" ]; then
145+
echo "partition_version=${PARTITION_VERSION}" >> "$GITHUB_OUTPUT"
146+
else
147+
echo "partition_version=${VERSION}" >> "$GITHUB_OUTPUT"
148+
fi
143149
- name: Verify Layer
144150
run: |
145-
export layer_output='AWSLambdaPowertoolsTypeScriptV2-${{matrix.region}}.json'
151+
set -euo pipefail
152+
layer_output="AWSLambdaPowertoolsTypeScriptV2-${{ matrix.region }}.json"
146153
# Dynamic secret access is safe here - secrets are scoped per environment
147-
aws --region ${{ matrix.region}} lambda get-layer-version-by-arn --arn "arn:${{ needs.setup.outputs.partition }}:lambda:${{ matrix.region}}:${{ secrets[format('AWS_ACCOUNT_{0}', steps.transform.outputs.CONVERTED_REGION)] }}:layer:AWSLambdaPowertoolsTypeScriptV2:${{ steps.partition_version.outputs.partition_version }}" > $layer_output
154+
aws --region "${{ matrix.region }}" lambda get-layer-version-by-arn --arn "arn:${{ needs.setup.outputs.partition }}:lambda:${{ matrix.region }}:${{ secrets[format('AWS_ACCOUNT_{0}', steps.transform.outputs.CONVERTED_REGION)] }}:layer:AWSLambdaPowertoolsTypeScriptV2:${{ steps.partition_version.outputs.partition_version }}" > "$layer_output"
148155
REMOTE_SHA=$(jq -r '.Content.CodeSha256' $layer_output)
149156
LOCAL_SHA=$(jq -r '.Content.CodeSha256' AWSLambdaPowertoolsTypeScriptV2.json)
150157
test "$REMOTE_SHA" == "$LOCAL_SHA" && echo "SHA OK: ${LOCAL_SHA}" || exit 1

.github/workflows/layers_partitions.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,9 @@ jobs:
102102
env:
103103
VERSION: ${{ inputs.version }}
104104
run: |
105-
aws --region us-east-1 lambda get-layer-version-by-arn --arn arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:$VERSION --query 'Content.Location' | xargs curl -L -o AWSLambdaPowertoolsTypeScriptV2.zip
106-
aws --region us-east-1 lambda get-layer-version-by-arn --arn arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:$VERSION > AWSLambdaPowertoolsTypeScriptV2.json
105+
set -euo pipefail
106+
aws --region us-east-1 lambda get-layer-version-by-arn --arn "arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${VERSION}" --query 'Content.Location' | xargs curl -L -o AWSLambdaPowertoolsTypeScriptV2.zip
107+
aws --region us-east-1 lambda get-layer-version-by-arn --arn "arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${VERSION}" > AWSLambdaPowertoolsTypeScriptV2.json
107108
- name: Store Zip
108109
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
109110
with:
@@ -160,17 +161,18 @@ jobs:
160161
- name: Create Layer
161162
id: create-layer
162163
run: |
164+
set -euo pipefail
163165
cat AWSLambdaPowertoolsTypeScriptV2.json | jq '{"LayerName": "AWSLambdaPowertoolsTypeScriptV2", "Description": .Description, "CompatibleRuntimes": .CompatibleRuntimes, "LicenseInfo": .LicenseInfo}' > input.json
164-
165-
LAYER_VERSION=$(aws --region ${{ matrix.region}} lambda publish-layer-version \
166+
167+
LAYER_VERSION=$(aws --region "${{ matrix.region }}" lambda publish-layer-version \
166168
--zip-file fileb://./AWSLambdaPowertoolsTypeScriptV2.zip \
167169
--cli-input-json file://./input.json \
168170
--query 'Version' \
169171
--output text)
170172
171173
echo "LAYER_VERSION=$LAYER_VERSION" >> "$GITHUB_OUTPUT"
172174
173-
aws --region ${{ matrix.region}} lambda add-layer-version-permission \
175+
aws --region "${{ matrix.region }}" lambda add-layer-version-permission \
174176
--layer-name 'AWSLambdaPowertoolsTypeScriptV2' \
175177
--statement-id 'PublicLayer' \
176178
--action lambda:GetLayerVersion \
@@ -186,9 +188,10 @@ jobs:
186188
LAYER_VERSION: ${{ steps.create-layer.outputs.LAYER_VERSION }}
187189
ENVIRONMENT: ${{ inputs.environment }}
188190
run: |
189-
export layer_output='AWSLambdaPowertoolsTypeScriptV2-${{matrix.region}}.json'
191+
set -euo pipefail
192+
export layer_output="AWSLambdaPowertoolsTypeScriptV2-${{ matrix.region }}.json"
190193
# Dynamic secret access is safe here - secrets are scoped per environment
191-
aws --region ${{ matrix.region}} lambda get-layer-version-by-arn --arn 'arn:${{ needs.setup.outputs.partition }}:lambda:${{ matrix.region}}:${{ secrets[format('AWS_ACCOUNT_{0}', steps.transform.outputs.CONVERTED_REGION)] }}:layer:AWSLambdaPowertoolsTypeScriptV2:${{ env.LAYER_VERSION }}' > $layer_output
194+
aws --region "${{ matrix.region }}" lambda get-layer-version-by-arn --arn "arn:${{ needs.setup.outputs.partition }}:lambda:${{ matrix.region }}:${{ secrets[format('AWS_ACCOUNT_{0}', steps.transform.outputs.CONVERTED_REGION)] }}:layer:AWSLambdaPowertoolsTypeScriptV2:${LAYER_VERSION}" > "$layer_output"
192195
REMOTE_SHA=$(jq -r '.Content.CodeSha256' $layer_output)
193196
LOCAL_SHA=$(jq -r '.Content.CodeSha256' AWSLambdaPowertoolsTypeScriptV2.json)
194197
test "$REMOTE_SHA" == "$LOCAL_SHA" && echo "SHA OK: ${LOCAL_SHA}" || exit 1

.github/workflows/reusable_publish_docs.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,24 +64,29 @@ jobs:
6464
python-version: "3.12"
6565
- name: Install doc generation dependencies
6666
run: |
67+
set -euo pipefail
6768
pip install --require-hashes -r docs/requirements.txt
6869
- name: Git refresh tip (detached mode)
6970
# Git Detached mode (release notes) doesn't have origin
7071
if: ${{ inputs.detached_mode }}
7172
run: |
73+
set -euo pipefail
7274
git config pull.rebase true
73-
git config remote.origin.url >&- || git remote add origin https://github.com/"$ORIGIN"
75+
git config remote.origin.url >&- || git remote add origin "https://github.com/$ORIGIN"
7476
git pull origin "$BRANCH"
7577
env:
7678
BRANCH: ${{ inputs.git_ref }}
7779
- name: Normalize Version Number
7880
env:
7981
VERSION: ${{ inputs.version }}
80-
run: echo "VERSION=$(echo $VERSION | sed 's/v//')" >> $GITHUB_ENV
82+
run: |
83+
set -euo pipefail
84+
echo "VERSION=$(echo "$VERSION" | sed 's/v//')" >> "$GITHUB_ENV"
8185
- name: Build docs website and API reference
8286
env:
8387
ALIAS: ${{ inputs.alias }}
8488
run: |
89+
set -euo pipefail
8590
rm -rf site
8691
mkdocs build
8792
- name: Configure AWS credentials
@@ -101,18 +106,20 @@ jobs:
101106
ALIAS: ${{ inputs.alias }}
102107
AWS_DOCS_BUCKET: ${{ secrets.AWS_DOCS_BUCKET }}
103108
run: |
109+
set -euo pipefail
104110
aws s3 sync \
105111
site/ \
106-
s3://$AWS_DOCS_BUCKET/lambda-typescript/$VERSION/
112+
"s3://$AWS_DOCS_BUCKET/lambda-typescript/$VERSION/"
107113
- name: Deploy Docs (Alias)
108114
env:
109115
VERSION: ${{ inputs.version }}
110116
ALIAS: ${{ inputs.alias }}
111117
AWS_DOCS_BUCKET: ${{ secrets.AWS_DOCS_BUCKET }}
112118
run: |
119+
set -euo pipefail
113120
aws s3 sync \
114121
site/ \
115-
s3://$AWS_DOCS_BUCKET/lambda-typescript/$ALIAS/
122+
"s3://$AWS_DOCS_BUCKET/lambda-typescript/$ALIAS/"
116123
- name: Deploy Docs (Version JSON)
117124
env:
118125
VERSION: ${{ inputs.version }}
@@ -131,11 +138,12 @@ jobs:
131138
# - if it's a new version number, we add it at position 0 in the array.
132139
# 4. Once done, we'll upload it back to S3.
133140
run: |
141+
set -euo pipefail
134142
aws s3 cp \
135-
s3://$AWS_DOCS_BUCKET/lambda-typescript/versions.json \
143+
"s3://$AWS_DOCS_BUCKET/lambda-typescript/versions.json" \
136144
versions_old.json
137-
jq 'del(.[].aliases[] | select(. == "$ALIAS"))' < versions_old.json > versions_proc.json
138-
jq '. as $o | [{"title": "$VERSION", "version": "$VERSION", "aliases": ["$ALIAS"]}] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == $n[0].title;.) then [($o | .[] | select(.title == $n[0].title).aliases += $n[0].aliases | . )] else $n + $o end' < versions_proc.json > versions.json
145+
jq --arg ALIAS "$ALIAS" 'del(.[].aliases[] | select(. == $ALIAS))' < versions_old.json > versions_proc.json
146+
jq --arg VERSION "$VERSION" --arg ALIAS "$ALIAS" '. as $o | [{"title": $VERSION, "version": $VERSION, "aliases": [$ALIAS]}] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == $n[0].title;.) then [($o | .[] | select(.title == $n[0].title).aliases += $n[0].aliases | . )] else $n + $o end' < versions_proc.json > versions.json
139147
aws s3 cp \
140148
versions.json \
141-
s3://$AWS_DOCS_BUCKET/lambda-typescript/versions.json
149+
"s3://$AWS_DOCS_BUCKET/lambda-typescript/versions.json"

.github/workflows/run-e2e-tests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ jobs:
4747
env:
4848
PR_NUMBER: ${{ inputs.prNumber }}
4949
run: |
50-
gh pr checkout $PR_NUMBER
50+
set -euo pipefail
51+
gh pr checkout "$PR_NUMBER"
5152
- name: Setup Node.js
5253
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
5354
with:

.github/workflows/update_ssm.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,11 @@ jobs:
132132
PREFIX: ${{ inputs.environment == 'beta' && '/aws/service/powertools/beta' || '/aws/service/powertools' }}
133133
PACKAGE_VERSION: ${{ inputs.package_version }}
134134
run: |
135-
aws ssm put-parameter --name $PREFIX/typescript/generic/all/$PACKAGE_VERSION --value "arn:aws:lambda:${{ matrix.region }}:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${{ inputs.layer-version }}" --type String --overwrite
135+
aws ssm put-parameter --name "$PREFIX/typescript/generic/all/$PACKAGE_VERSION" --value "arn:aws:lambda:${{ matrix.region }}:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${{ inputs.layer-version }}" --type String --overwrite
136136
137137
- id: write-latest
138138
if: inputs.write_latest == true
139139
env:
140140
prefix: ${{ inputs.environment == 'beta' && '/aws/service/powertools/beta' || '/aws/service/powertools' }}
141141
run: |
142-
aws ssm put-parameter --name ${{ env.prefix }}/typescript/generic/all/latest --value "arn:aws:lambda:${{ matrix.region }}:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${{ inputs.layer-version }}" --type String --overwrite
142+
aws ssm put-parameter --name "${{ env.prefix }}/typescript/generic/all/latest" --value "arn:aws:lambda:${{ matrix.region }}:094274105915:layer:AWSLambdaPowertoolsTypeScriptV2:${{ inputs.layer-version }}" --type String --overwrite

0 commit comments

Comments
 (0)