[Feature] Add github action workflow (#1)

This commit is contained in:
sidpalas
2021-05-27 15:54:43 -07:00
committed by GitHub
parent 03745775f6
commit 2e3891b7dc
3 changed files with 48 additions and 5 deletions

View File

@@ -4,6 +4,8 @@ on:
push:
branches:
- main
tags:
- v\d+\.\d+\.\d+$
pull_request:
jobs:
@@ -36,7 +38,7 @@ jobs:
- name: Terraform Plan
id: plan
if: github.event_name == 'pull_request'
run: terraform plan -no-color
run: terraform plan -var db_pass=${{secrets.DB_PASS }} -no-color
continue-on-error: true
- uses: actions/github-script@0.9.0
@@ -70,6 +72,20 @@ jobs:
if: steps.plan.outcome == 'failure'
run: exit 1
# - name: Terraform Apply
# if: github.ref == 'refs/heads/main' && github.event_name == 'push'
# run: terraform apply -auto-approve
- name: Check tag
id: check-tag
run: |
if [[ ${{ github.ref }} =~ ^refs/tags/vd+\.d+\.d+$ ]]; then echo ::set-output name=environment::production
elif [[ github.ref == 'refs/heads/main' ]]; then echo ::set-output name=environment::staging
else echo ::set-output name=environment::unknown
fi
- name: Terraform Apply Staging
if: steps.check-tag.outputs.environment == 'production' && github.event_name == 'push'
working-directory: 07-managing-multiple-environments/file-structure/staging
run: terraform apply -var db_pass=${{secrets.DB_PASS }} -auto-approve
- name: Terraform Apply Production
if: steps.check-tag.outputs.environment == 'staging' && github.event_name == 'push'
working-directory: 07-managing-multiple-environments/file-structure/production
run: terraform apply -var db_pass=${{secrets.DB_PASS }} -auto-approve