diff --git a/.github/workflows/terraform-apply.yaml b/.github/workflows/terraform-apply.yaml index 73b670e..4ce33c8 100644 --- a/.github/workflows/terraform-apply.yaml +++ b/.github/workflows/terraform-apply.yaml @@ -33,27 +33,31 @@ jobs: - uses: CSVD/gh-actions-setup-terraform@v2 with: - terraform_wrapper: false terraform_version: ${{ vars.terraform_version }} - name: Terraform Format id: fmt + run: | terraform fmt -check - name: Autoformat Halt if: env.auto_format == 'true' + run: exit 1 - name: Terraform Init id: init + run: terraform init -upgrade - name: Terraform Validate id: validate + run: terraform validate - name: Terraform Apply id: apply + run: terraform apply -auto-approve continue-on-error: true diff --git a/.github/workflows/terraform-plan.yaml b/.github/workflows/terraform-plan.yaml index d6b7387..1e87682 100644 --- a/.github/workflows/terraform-plan.yaml +++ b/.github/workflows/terraform-plan.yaml @@ -24,7 +24,9 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.GH_TOKEN }} - uses: CSVD/gh-actions-setup-node@v3 with: @@ -32,27 +34,56 @@ jobs: - uses: CSVD/gh-actions-setup-terraform@v2 with: - terraform_wrapper: false terraform_version: ${{ vars.terraform_version }} - + - name: Terraform Format id: fmt run: | - terraform fmt -check + terraform fmt + if ! git diff-index --quiet HEAD; then + git config --global user.name 'arnol377' + git config --global user.email 'david.j.arnold.jr@census.gov' + git commit -am "Autoformatting TF Code" + git push + echo "auto_format=true" >> $GITHUB_ENV + fi - name: Autoformat Halt if: env.auto_format == 'true' - run: exit 1 + run: exit 0 - name: Terraform Init id: init + run: terraform init -upgrade - name: Terraform Validate id: validate + run: terraform validate - name: Terraform Plan id: plan + run: terraform plan continue-on-error: true + + - name: Update Pull Request + uses: CSVD/gh-actions-github-script@v6 + if: github.event_name == 'pull_request' + with: + github-token: ${{ secrets.GH_TOKEN }} + script: | + const output = `#### Terraform Format and Style 🖌\`${{ steps.fmt.outcome }}\` + #### Terraform Initialization ⚙️\`${{ steps.init.outcome }}\` + #### Terraform Validation 🤖\`${{ steps.validate.outcome }}\` + #### Terraform Plan: + ${{ steps.plan.outcome }} + *Pushed by: @${{ github.actor }}, Action: \`${{ github.event_name }}\`*`; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: output + })