Skip to content

Resume AWS Resources #56

Resume AWS Resources

Resume AWS Resources #56

name: Resume AWS Resources
on:
schedule:
- cron: "0 15 * * 1-5" # Runs every weekday (Monday to Friday) at 7AM PST
workflow_dispatch:
inputs:
app_env:
description: 'Stack prefix to use for resuming resources'
required: true
type: choice
default: dev
options:
- dev
- test
- prod
- all
workflow_call:
inputs:
app_env:
description: 'Stack prefix to use for resuming resources'
required: false
default: dev
type: string
permissions:
id-token: write # This is required for requesting the JWT
contents: write # This is required for actions/checkout
jobs:
stack-prefix:
name: Stack Prefix
uses: ./.github/workflows/.stack-prefix.yml
resume-resources-dev:
if: (inputs.app_env == 'dev' || inputs.app_env == 'all' || github.event_name == 'schedule')
name: Resume Resources Dev
needs: [stack-prefix]
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4
with:
role-to-assume: ${{ secrets.AWS_DEPLOY_ROLE_ARN }}
role-session-name: gha-resume-resources
aws-region: ca-central-1
- name: Resume AWS Resources
shell: bash
run: |
chmod +x ./.github/scripts/resume.sh
./.github/scripts/resume.sh dev ${{ needs.stack-prefix.outputs.stack_prefix }}
resume-resources-test:
name: Resume Resources Test
if: (inputs.app_env == 'test' || inputs.app_env == 'all' || github.event_name == 'schedule')
environment: test
needs: [stack-prefix]
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4
with:
role-to-assume: ${{ secrets.AWS_DEPLOY_ROLE_ARN }}
role-session-name: gha-resume-resources
aws-region: ca-central-1
- name: Resume AWS Resources
shell: bash
run: |
chmod +x ./.github/scripts/resume.sh
./.github/scripts/resume.sh test ${{ needs.stack-prefix.outputs.stack_prefix }}