Skip to content

Start Script via Terraform #752

Start Script via Terraform

Start Script via Terraform #752

Workflow file for this run

name: 'Start Script via Terraform'
on:
workflow_dispatch:
schedule:
- cron: '0 16 * * *' # Every day at 4:00pm UTC (12:00pm Eastern)
jobs:
terraform:
runs-on: ubuntu-latest
environment: crunchy-backups
strategy:
matrix:
backend: [aspiredu-prd-a, aspiredu-prd-b, aspiredu-prd-c, aspiredu-prd-d, aspiredu-prd-e, aspiredu-prd-g, aspiredu-prd-h, aspiredu-prd-i, aspiredu-prd-j, aspiredu-prd-k, aspiredu-prd-l, aspiredu-prd-m, aspireprod, aspiredu-ms]
working_dir: ["us-east"]
include:
- backend: "aspiredu-au"
working_dir: "au"
steps:
- name: Get current weekday
id: weekday
run: echo "current_day=$(date '+%A')" >> "$GITHUB_OUTPUT"
- name: Check weekday
if: ${{ steps.weekday.outputs.current_day != 'Saturday' }}
run: echo "This job will be skipped because it's not Saturday. It's ${{ steps.weekday.outputs.current_day }}."
- name: Checkout Commit
if: ${{ steps.weekday.outputs.current_day == 'Saturday' }}
uses: actions/checkout@v3
- name: Deploy With Terraform
if: ${{ steps.weekday.outputs.current_day == 'Saturday' }}
id: deployAttempt1
uses: ./.github/actions/tf-deploy-composite
continue-on-error: true
with:
TERRAFORM_AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_AWS_ACCESS_KEY_ID }}
TERRAFORM_AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_AWS_SECRET_ACCESS_KEY }}
CRUNCHY_TEAM_ID: ${{ vars.CRUNCHY_TEAM_ID }}
CRUNCHY_API_KEY: ${{ secrets.CRUNCHY_API_KEY }}
ASPIRE_AWS_ACCESS_KEY_ID: ${{ secrets.ASPIRE_AWS_ACCESS_KEY_ID }}
ASPIRE_AWS_SECRET_ACCESS_KEY: ${{ secrets.ASPIRE_AWS_SECRET_ACCESS_KEY }}
GIT_PAT: ${{ secrets.GIT_PAT }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
backend: ${{ matrix.backend }}
WORKING_DIR: ${{ matrix.working_dir }}
- name: Deploy With Terraform Attempt 2
id: deployAttempt2
uses: ./.github/actions/tf-deploy-composite
if: ${{ steps.weekday.outputs.current_day == 'Saturday' && steps.deployAttempt1.outcome == 'failure' }}
continue-on-error: true
with:
TERRAFORM_AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_AWS_ACCESS_KEY_ID }}
TERRAFORM_AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_AWS_SECRET_ACCESS_KEY }}
CRUNCHY_TEAM_ID: ${{ vars.CRUNCHY_TEAM_ID }}
CRUNCHY_API_KEY: ${{ secrets.CRUNCHY_API_KEY }}
ASPIRE_AWS_ACCESS_KEY_ID: ${{ secrets.ASPIRE_AWS_ACCESS_KEY_ID }}
ASPIRE_AWS_SECRET_ACCESS_KEY: ${{ secrets.ASPIRE_AWS_SECRET_ACCESS_KEY }}
GIT_PAT: ${{ secrets.GIT_PAT }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
backend: ${{ matrix.backend }}
WORKING_DIR: ${{ matrix.working_dir }}
- name: Deploy With Terraform Attempt 3
id: deployAttempt3
uses: ./.github/actions/tf-deploy-composite
if: ${{ steps.weekday.outputs.current_day == 'Saturday' && steps.deployAttempt1.outcome == 'failure' && steps.deployAttempt2.outcome == 'failure' }}
continue-on-error: true
with:
TERRAFORM_AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_AWS_ACCESS_KEY_ID }}
TERRAFORM_AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_AWS_SECRET_ACCESS_KEY }}
CRUNCHY_TEAM_ID: ${{ vars.CRUNCHY_TEAM_ID }}
CRUNCHY_API_KEY: ${{ secrets.CRUNCHY_API_KEY }}
ASPIRE_AWS_ACCESS_KEY_ID: ${{ secrets.ASPIRE_AWS_ACCESS_KEY_ID }}
ASPIRE_AWS_SECRET_ACCESS_KEY: ${{ secrets.ASPIRE_AWS_SECRET_ACCESS_KEY }}
GIT_PAT: ${{ secrets.GIT_PAT }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
backend: ${{ matrix.backend }}
WORKING_DIR: ${{ matrix.working_dir }}
keepalive:
name: Keepalive Workflow
needs: terraform
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: 'keepalive'
- uses: gautamkrishnar/keepalive-workflow@v2
with:
use_api: false