ci test fix #15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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' |