Skip to content

Commit a16bd11

Browse files
committed
stop version churn on SSM Parameters
1 parent 32c56eb commit a16bd11

1 file changed

Lines changed: 43 additions & 26 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -169,32 +169,49 @@ jobs:
169169
with:
170170
use-installer: true
171171

172-
- name: Push Square API Key to Parameter store
173-
run: >
174-
aws ssm put-parameter
175-
--name /${STACK_NAME}/SQUARE_API_KEY
176-
--description "Square API Key used for stack ${STACK_NAME}"
177-
--type String
178-
--value ${SQUARE_API_KEY}
179-
--overwrite
180-
181-
- name: Push OpenAI API Key to Parameter store
182-
run: >
183-
aws ssm put-parameter
184-
--name /${STACK_NAME}/OPENAI_API_KEY
185-
--description "OpenAI API Key used for stack ${STACK_NAME}"
186-
--type String
187-
--value ${OPENAI_API_KEY}
188-
--overwrite
189-
190-
- name: Push Facebook Access Token to Parameter store
191-
run: >
192-
aws ssm put-parameter
193-
--name /${STACK_NAME}/FB_PAGE_ACCESS_TOKEN
194-
--description "Facebook Access token used for stack ${STACK_NAME}"
195-
--type String
196-
--value ${FB_PAGE_ACCESS_TOKEN}
197-
--overwrite
172+
- name: Sync Parameters to SSM (only if changed)
173+
shell: bash
174+
run: |
175+
set -euo pipefail
176+
177+
update_param_if_changed() {
178+
local name="$1"
179+
local value="$2"
180+
local description="$3"
181+
182+
echo "Checking SSM parameter: $name"
183+
184+
# Get current value (if it exists). Suppress error if not found.
185+
local current_value=""
186+
if current_value_json=$(aws ssm get-parameter --name "$name" --query 'Parameter.Value' --output text 2>/dev/null); then
187+
current_value="$current_value_json"
188+
fi
189+
190+
if [[ "$current_value" == "$value" ]]; then
191+
echo "No change for $name, skipping put-parameter"
192+
else
193+
echo "Value changed for $name, updating in SSM"
194+
aws ssm put-parameter \
195+
--name "$name" \
196+
--description "$description" \
197+
--type String \
198+
--value "$value" \
199+
--overwrite
200+
fi
201+
}
202+
203+
update_param_if_changed "/${STACK_NAME}/SQUARE_API_KEY" \
204+
"${SQUARE_API_KEY}" \
205+
"Square API Key used for stack ${STACK_NAME}"
206+
207+
update_param_if_changed "/${STACK_NAME}/OPENAI_API_KEY" \
208+
"${OPENAI_API_KEY}" \
209+
"OpenAI API Key used for stack ${STACK_NAME}"
210+
211+
update_param_if_changed "/${STACK_NAME}/FB_PAGE_ACCESS_TOKEN" \
212+
"${FB_PAGE_ACCESS_TOKEN}" \
213+
"Facebook Access token used for stack ${STACK_NAME}"
214+
198215
199216
- name: Cache SAM Build files
200217
uses: actions/cache@v4

0 commit comments

Comments
 (0)