Skip to content

ci test fix

ci test fix #15

name: StackQL Deploy Action Test (AWS SSM)
on:
push:
branches:
- main
jobs:
aws-ssm-test:
name: "Test (${{ matrix.os }})"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
- macos-latest
- macos-13
- windows-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_SESSION_TOKEN: ${{ secrets.AWS_SESSION_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
# -----------------------------------------------------------------------
# Step 1: Deploy the SSM parameter
# -----------------------------------------------------------------------
- name: Deploy SSM Parameter
uses: ./
with:
command: 'build'
stack_dir: 'examples/aws-ssm-parameter'
stack_env: 'dev'
env_vars: 'AWS_REGION=${{ vars.AWS_REGION }}'
log_level: 'info'
# -----------------------------------------------------------------------
# Step 2: Test the deployed SSM parameter
# -----------------------------------------------------------------------
- name: Test SSM Parameter
uses: ./
with:
command: 'test'
stack_dir: 'examples/aws-ssm-parameter'
stack_env: 'dev'
env_vars: 'AWS_REGION=${{ vars.AWS_REGION }}'
log_level: 'info'
# -----------------------------------------------------------------------
# Step 3: Update the manifest - change the parameter value
# -----------------------------------------------------------------------
- name: Update Manifest - Update SSM Parameter Value
shell: bash
run: |
# Update the SSM parameter value to test that a redeploy detects the change.
sed -i.bak 's/stackql-deploy-action-test-value/stackql-deploy-action-test-value-updated/' examples/aws-ssm-parameter/stackql_manifest.yml
rm -f examples/aws-ssm-parameter/stackql_manifest.yml.bak
echo "Updated manifest:"
cat examples/aws-ssm-parameter/stackql_manifest.yml
# -----------------------------------------------------------------------
# Step 4: Redeploy with the updated manifest (value update)
# -----------------------------------------------------------------------
- name: Redeploy SSM Parameter with Updated Value
uses: ./
with:
command: 'build'
stack_dir: 'examples/aws-ssm-parameter'
stack_env: 'dev'
env_vars: 'AWS_REGION=${{ vars.AWS_REGION }}'
log_level: 'info'
# -----------------------------------------------------------------------
# Step 5: Test again after the update
# -----------------------------------------------------------------------
- name: Test SSM Parameter (Post-Update)
uses: ./
with:
command: 'test'
stack_dir: 'examples/aws-ssm-parameter'
stack_env: 'dev'
env_vars: 'AWS_REGION=${{ vars.AWS_REGION }}'
log_level: 'info'
# -----------------------------------------------------------------------
# Step 6: Teardown - always run to avoid leaving resources behind
# -----------------------------------------------------------------------
- name: Teardown SSM Parameter
if: always()
uses: ./
with:
command: 'teardown'
stack_dir: 'examples/aws-ssm-parameter'
stack_env: 'dev'
env_vars: 'AWS_REGION=${{ vars.AWS_REGION }}'
log_level: 'info'