Skip to content

Commit

Permalink
Updating terraform cloud workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
chefgs committed Jul 16, 2024
1 parent 4c51e7c commit 9fe504b
Showing 1 changed file with 39 additions and 12 deletions.
51 changes: 39 additions & 12 deletions .github/workflows/tf_cloud_aws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:

env:
tfcode_path: tfcloud_samples/amazon_ec2
Expand All @@ -35,7 +36,7 @@ jobs:

# Add the AWS Creds as ENV variable in TF Cloud workspace, since the tf run happens in TF Cloud environment

# Call rest of the Terraform commands
# Invoke the Terraform commands
- name: Terraform init and validate
run: |
echo `pwd`
Expand All @@ -45,18 +46,44 @@ jobs:
echo "** Running Terraform Validate**"
terraform validate
working-directory: ${{ env.tfcode_path }}
- name: Terraform plan and apply

- name: Terraform Plan
run: |
echo `pwd`
echo "** Running Terraform Plan**"
terraform plan
echo "** Running Terraform Apply**"
terraform apply -auto-approve
terraform plan -out=tfplan
working-directory: ${{ env.tfcode_path }}

- name: Terraform Destroy
run: |
echo "** Running Terraform Destroy**"
terraform destroy -auto-approve
working-directory: ${{ env.tfcode_path }}
- name: Upload Terraform Plan
uses: actions/upload-artifact@v2
with:
name: terraform-plan
path: ${{ env.tfcode_path }}/tfplan

# Once the user verifies the Terraform Plan, the user can run the Terraform Apply and Destroy commands
apply_terraform_plan:
needs: aws_tfc_job
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Setup Terraform CLI
uses: hashicorp/[email protected]
with:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}
- name: Download Terraform Plan
uses: actions/download-artifact@v2
with:
name: terraform-plan
path: ${{ env.tfcode_path }}
- name: Terraform Apply
run: |
echo "** Running Terraform Apply**"
terraform apply -auto-approve tfplan
working-directory: ${{ env.tfcode_path }}

- name: Terraform Destroy
run: |
echo "** Running Terraform Destroy**"
terraform destroy -auto-approve
working-directory: ${{ env.tfcode_path }}

0 comments on commit 9fe504b

Please sign in to comment.