Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git actions #6

Draft
wants to merge 449 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
449 commits
Select commit Hold shift + click to select a range
db30875
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
4403d53
Update variables.tf
brokedba May 2, 2023
bef45af
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
3c74167
Update variables.tf
brokedba May 2, 2023
93d6af8
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
011e33d
Update variables.tf
brokedba May 2, 2023
db119c2
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
621513d
Update variables.tf
brokedba May 2, 2023
e1c46b9
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
05e479f
Update variables.tf
brokedba May 2, 2023
3f33678
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
95a5492
Update variables.tf
brokedba May 2, 2023
738901c
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
44bce3f
Update variables.tf
brokedba May 2, 2023
7866964
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
3f808af
Update variables.tf
brokedba May 2, 2023
c720c68
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
c4964e1
Update variables.tf
brokedba May 2, 2023
19ded17
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
352a5fa
Update variables.tf
brokedba May 2, 2023
1915cd3
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
dc27530
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
657f04d
Update variables.tf
brokedba May 2, 2023
01abe64
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
b41e3cc
Update variables.tf
brokedba May 2, 2023
b4c73d7
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
358d7c5
Update variables.tf
brokedba May 2, 2023
efae4d2
Update terraform_oci-labs_vcn.yml
brokedba May 2, 2023
2aebd67
Update variables.tf
brokedba May 2, 2023
716306f
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
ae53124
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
c174084
Update variables.tf
brokedba May 3, 2023
e6ed208
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
a2a9457
Update variables.tf
brokedba May 3, 2023
4684058
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
f9c4a78
Update variables.tf
brokedba May 3, 2023
35a974d
Update variables.tf
brokedba May 3, 2023
b0de447
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
837b507
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
65bfe9c
Update variables.tf
brokedba May 3, 2023
f9cbd9f
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
ab00d41
Update variables.tf
brokedba May 3, 2023
9f59c42
Update terraform_oci-labs_vcn.yml
brokedba May 3, 2023
6054383
Update variables.tf
brokedba May 3, 2023
6f013f8
Update variables.tf
brokedba May 3, 2023
0596431
Update variables.tf
brokedba May 3, 2023
e764aa7
Update variables.tf
brokedba May 4, 2023
9701d1c
Update variables.tf
brokedba May 4, 2023
c29918f
Update vcn.tf
brokedba May 4, 2023
ad1794e
Update vcn.tf
brokedba May 4, 2023
ecf06df
Update vcn.tf
brokedba May 4, 2023
8764c1d
Update terraform_oci-labs_vcn.yml
brokedba May 5, 2023
721832e
Update vcn.tf
brokedba May 5, 2023
0d840e6
Update vcn.tf
brokedba May 5, 2023
4075052
Update vcn.tf
brokedba May 6, 2023
679469c
Update vcn.tf
brokedba May 6, 2023
f9e979e
Update terraform_oci-labs_vcn.yml
brokedba May 6, 2023
cb6f90c
Update vcn.tf
brokedba May 6, 2023
9088d4e
Update terraform_oci-labs_vcn.yml
brokedba May 6, 2023
1692fca
Update vcn.tf
brokedba May 6, 2023
79ecc66
Update terraform_oci-labs_vcn.yml
brokedba May 6, 2023
66db39a
Update vcn.tf
brokedba May 6, 2023
22fef8b
Update terraform_oci-labs_vcn.yml
brokedba May 6, 2023
2ddb565
Update vcn.tf
brokedba May 8, 2023
654d693
Update terraform_oci-labs_vcn.yml
brokedba May 8, 2023
df4983f
Update vcn.tf
brokedba May 8, 2023
cf882e0
Update terraform_oci-labs_vcn.yml
brokedba May 8, 2023
26e0b60
Update vcn.tf
brokedba May 8, 2023
5a6405c
Update vcn.tf
brokedba May 8, 2023
422b409
Update vcn.tf
brokedba May 8, 2023
3123100
Update vcn.tf
brokedba May 8, 2023
f43f4c7
Update variables.tf
brokedba May 17, 2023
22dfeaa
Update variables.tf
brokedba May 17, 2023
f776578
Create terraform_az-labs_vcn.yml
brokedba May 19, 2023
5d3a5df
Rename terraform_az-labs_vcn.yml to terraform_azure-labs_vcn.yml
brokedba May 19, 2023
10facbd
Update terraform_azure-labs_vcn.yml
brokedba May 20, 2023
bedafec
Update variables.tf
brokedba May 20, 2023
14b9351
Update variables.tf
brokedba May 20, 2023
7da7ffa
Update terraform_azure-labs_vcn.yml
brokedba May 20, 2023
11e0632
Update variables.tf
brokedba May 20, 2023
6eb17fd
Update and rename terraform_azure-labs_vcn.yml to terraform_azure-lab…
brokedba May 20, 2023
50793a6
Update variables.tf
brokedba May 20, 2023
c04a091
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
1933071
Update variables.tf
brokedba May 20, 2023
14eccbf
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
e9afb6f
Update variables.tf
brokedba May 20, 2023
10e2a55
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
1179d75
Update variables.tf
brokedba May 20, 2023
9c95fe2
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
13e86a5
Update variables.tf
brokedba May 20, 2023
52f736e
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
2fa37bd
Update variables.tf
brokedba May 20, 2023
7ddfa7f
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
ab264ec
Update variables.tf
brokedba May 20, 2023
9b54042
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
d025701
Update variables.tf
brokedba May 20, 2023
1dc10e0
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
6ff567e
Update variables.tf
brokedba May 20, 2023
1f40787
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
dbaabb5
Update variables.tf
brokedba May 20, 2023
6d58e47
Update terraform_azure-labs_vnet.yml
brokedba May 20, 2023
01138eb
Update variables.tf
brokedba May 20, 2023
5e5c83a
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
bb876f6
Update variables.tf
brokedba May 21, 2023
7d9f0fa
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
926422c
Update variables.tf
brokedba May 21, 2023
4e3b70a
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
b66b134
Update variables.tf
brokedba May 21, 2023
35b1508
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
7fdbad3
Update variables.tf
brokedba May 21, 2023
9579b12
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
0f74d3c
Update variables.tf
brokedba May 21, 2023
563fe82
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
f5ed3de
Update variables.tf
brokedba May 21, 2023
cb452f4
Update variables.tf
brokedba May 21, 2023
a44efd2
Update vnet.tf
brokedba May 21, 2023
31f6ac0
Update vnet.tf
brokedba May 21, 2023
93e0b2f
Update vnet.tf
brokedba May 21, 2023
9e25791
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
8ec2f5d
Update vnet.tf
brokedba May 21, 2023
a4f53ca
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
3576e69
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
3ae2f56
Update vnet.tf
brokedba May 21, 2023
1bf0655
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
8ea02b1
Update vnet.tf
brokedba May 21, 2023
2821d21
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
ecf6ce3
Update vnet.tf
brokedba May 21, 2023
4a3048a
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
3b34f3f
Update vnet.tf
brokedba May 21, 2023
5cd044c
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
53f69b4
Update vnet.tf
brokedba May 21, 2023
080577b
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
eac5f9d
Update vnet.tf
brokedba May 21, 2023
ccce529
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
1825e4c
Update vnet.tf
brokedba May 21, 2023
20b2bc5
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
98dfc63
Update vnet.tf
brokedba May 21, 2023
13ec1e3
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
38dfda4
Update vnet.tf
brokedba May 21, 2023
3cb9d73
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
1b69166
Update vnet.tf
brokedba May 21, 2023
c89b77f
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
2b109ad
Update terraform_azure-labs_vnet.yml
brokedba May 21, 2023
8903a76
Update vnet.tf
brokedba May 21, 2023
5b6793a
Update terraform_azure-labs_vnet.yml
brokedba May 22, 2023
c876697
Update vnet.tf
brokedba May 22, 2023
f2f6956
Update terraform_azure-labs_vnet.yml
brokedba May 22, 2023
cf3f116
Update vnet.tf
brokedba May 22, 2023
d1ee727
Update terraform_azure-labs_vnet.yml
brokedba May 22, 2023
e0cfd97
Update vnet.tf
brokedba May 22, 2023
f1fb7f7
Update terraform_azure-labs_vnet.yml
brokedba May 22, 2023
4496754
Update vnet.tf
brokedba May 22, 2023
a98fbd3
Update terraform_azure-labs_vnet.yml
brokedba May 22, 2023
7e0da8e
Update vnet.tf
brokedba May 22, 2023
07b9102
Create terraform_aws-labs_vpc.yml
brokedba May 23, 2023
0bee650
Update variables.tf
brokedba May 23, 2023
c51fe3e
Update variables.tf
brokedba May 23, 2023
783a4a2
Update vpc.tf
brokedba May 24, 2023
4a1fe1a
Update variables.tf
brokedba May 24, 2023
f718cdb
Create terraform_gcp-labs_vpc.yml
brokedba May 24, 2023
b397a2f
Update terraform_gcp-labs_vpc.yml
brokedba May 24, 2023
5a5202d
Update vpc.tf
brokedba May 24, 2023
404e95f
Update outputs.tf
brokedba May 24, 2023
e3aa609
Update terraform_gcp-labs_vpc.yml
brokedba May 24, 2023
71cb1ec
Update outputs.tf
brokedba May 24, 2023
1b908a8
Update terraform_gcp-labs_vpc.yml
brokedba May 24, 2023
1f3efd3
Update outputs.tf
brokedba May 24, 2023
6c9d5fd
Update outputs.tf
brokedba May 24, 2023
bda21f1
Update terraform_gcp-labs_vpc.yml
brokedba May 24, 2023
f4541be
Update outputs.tf
brokedba May 24, 2023
2bfa0cb
Update terraform_gcp-labs_vpc.yml
brokedba May 24, 2023
930a212
Update outputs.tf
brokedba May 24, 2023
0cc70d0
Update outputs.tf
brokedba May 25, 2023
354e229
Update outputs.tf
brokedba May 25, 2023
25d4f12
Update terraform_gcp-labs_vpc.yml
brokedba May 25, 2023
55bfbec
Update outputs.tf
brokedba May 25, 2023
ac82ce8
Update outputs.tf
brokedba May 25, 2023
eba6643
Update outputs.tf
brokedba May 27, 2023
0ac712f
Update terraform_gcp-labs_vpc.yml
brokedba May 27, 2023
e97550f
Update outputs.tf
brokedba May 28, 2023
22d12fc
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
26d55d0
Update outputs.tf
brokedba May 28, 2023
290f9e2
Update outputs.tf
brokedba May 28, 2023
bdf81cb
Update outputs.tf
brokedba May 28, 2023
1d3ccfd
Update outputs.tf
brokedba May 28, 2023
11f356e
Update outputs.tf
brokedba May 28, 2023
522276b
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
dc588d0
Update outputs.tf
brokedba May 28, 2023
0ef152d
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
b10e75c
Update outputs.tf
brokedba May 28, 2023
fa56d95
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
c274969
Update outputs.tf
brokedba May 28, 2023
4104eb6
Update outputs.tf
brokedba May 28, 2023
b17d2a0
Update outputs.tf
brokedba May 28, 2023
8d5d11d
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
2392b53
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
fb6ffd4
Update variables.tf
brokedba May 28, 2023
c69bd22
Update variables.tf
brokedba May 28, 2023
c86f9aa
Update variables.tf
brokedba May 28, 2023
5205cfa
Delete terraform_oci-labs_vcn.yml.temp
brokedba May 28, 2023
56e0a04
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
c9047e6
Update variables.tf
brokedba May 28, 2023
260e7b8
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
b682896
Update variables.tf
brokedba May 28, 2023
b2c4f39
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
c076f66
Update variables.tf
brokedba May 28, 2023
97c0c86
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
7baf054
Update variables.tf
brokedba May 28, 2023
7927601
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
687b541
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
0d62d24
Update variables.tf
brokedba May 28, 2023
a32f923
Update terraform_gcp-labs_vpc.yml
brokedba May 28, 2023
6a5a795
Update variables.tf
brokedba May 29, 2023
bb7338a
Update variables.tf
brokedba May 29, 2023
ba10a78
Update variables.tf
brokedba May 29, 2023
ff9abcb
Update variables.tf
brokedba May 29, 2023
28c1bbb
Update variables.tf
brokedba May 29, 2023
8280c5e
Update variables.tf
brokedba May 29, 2023
b9f7ae6
Update variables.tf
brokedba May 29, 2023
4e5c5e6
Update variables.tf
brokedba May 29, 2023
f6ee626
Update variables.tf
brokedba May 29, 2023
b28d035
Update variables.tf
brokedba May 29, 2023
0e4d537
Update variables.tf
brokedba May 31, 2023
811acd9
Update terraform_gcp-labs_vpc.yml
brokedba May 31, 2023
c71a340
Update variables.tf
brokedba May 31, 2023
143e6ca
Update variables.tf
brokedba May 31, 2023
b9f864a
Update variables.tf
brokedba May 31, 2023
f483725
Update terraform_oci-labs_vcn.yml
brokedba Jun 2, 2023
b71ba64
Update outputs.tf
brokedba Jun 2, 2023
344f3b4
Create test_secret.yml
brokedba Jul 7, 2023
e724b47
Update test_secret.yml
brokedba Jul 7, 2023
27dc7fc
Update test_secret.yml
brokedba Jul 7, 2023
4c14186
Update test_secret.yml
brokedba Jul 7, 2023
b2d023b
Update test_secret.yml
brokedba Jul 7, 2023
b609aa3
Update test_secret.yml
brokedba Jul 7, 2023
1308056
Update test_secret.yml
brokedba Jul 7, 2023
55e8586
Update test_secret.yml
brokedba Jul 7, 2023
ae94db6
Update test_secret.yml
brokedba Jul 7, 2023
ea27420
Update test_secret.yml
brokedba Jul 7, 2023
22e1060
Update test_secret.yml
brokedba Jul 7, 2023
d68a317
Update test_secret.yml
brokedba Jul 8, 2023
d711be9
Update test_secret.yml
brokedba Jul 8, 2023
ccda298
Update test_secret.yml
brokedba Jul 8, 2023
70865e1
Update test_secret.yml
brokedba Jul 8, 2023
020ddba
Update terraform_gcp-labs_vpc.yml
brokedba Aug 31, 2023
9adaf19
Update outputs.tf
brokedba Aug 31, 2023
a584dcc
Update outputs.tf
brokedba Aug 31, 2023
fc5f2be
Update outputs.tf
brokedba Aug 31, 2023
3d9f66b
Update variables.tf
brokedba Oct 30, 2024
fa6cebb
Update vpc.tf
brokedba Nov 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
227 changes: 227 additions & 0 deletions .github/workflows/terraform_aws-labs_vpc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
name: 'Terraform_aws_vpc'

on:
push:
branches: [ "git_actions" ]
paths:
- 'terraform-provider-aws/create-vpc/*tf'
env:
TF_VAR_aws_region: "${{ vars.AWS_REGION }}"
STACK_DIR: ${{ vars.TF_STACK_DIR }}

permissions:
id-token: write

jobs:
# ############
# INIT
# ############
terraform_setup:
name: 'Terraform Init-Validate'
runs-on: ubuntu-latest
environment: aws-labs
# Use default shell and working directory regardless of the os of the GitHub Actions runner
defaults:
run:
shell: bash
working-directory: ${{ env.STACK_DIR }}

steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3

# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
with:
terraform_version: 1.0.3
terraform_wrapper: false
# cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} --> Terraform cloud

# Create a cache for the terraform pluggin and copy tf binary
- name: Config Terraform plugin cache
run: |
echo 'plugin_cache_dir="$HOME/.terraform.d/plugin-cache"' >~/.terraformrc
mkdir --parents ~/.terraform.d/plugin-cache
terra_bin=`which terraform`
cp $terra_bin .

# Initialize a new or existing Terraform working directory(creating initial files, loading any remote state, downloading modules..)
- name: Terraform Init
id: init
run: |
echo ====== INITIALIZE terraform provider plugins : $GITHUB_WORKSPACE/${{ vars.TF_STACK_DIR }} ======
pwd
echo terra_bin=$terra_bin >> "$GITHUB_OUTPUT"
# echo the temp directory path is : $RUNNER_TEMP
terraform init
terraform -v
- name: Terraform format
run: |
echo ====== FORMAT the Terraform configuration in ${{ env.STACK_DIR }} ======
terraform fmt
- name: Terraform Validate
run: |
echo ====== VALIDATE the Terraform configuration in ${{ env.STACK_DIR }} ======
terraform validate
# Authenticate with AWS using OIDC Workload Federated Identiry
- name: 'Configure AWS credentials'
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# arn:aws:iam::1234567890:role/example-role
role-session-name: MySessionName #${{ secrets.My_sessionName }}
aws-region: ${{ vars.AWS_REGION }}
- name: Print assumed Role
run: aws sts get-caller-identity

# PLAN
- name: Terraform Plan
id: plan
run: |
echo ====== PLAN execution for the Terraform configuration in ${{ env.STACK_DIR }} ======
terraform plan -input=false -no-color -out tf.plan

# Save all plugin files and working Directory in a cache
- name: Cache Terraform
uses: actions/cache@v3
with:
path: |
~/.terraform.d/plugin-cache
./*
key: ${{ runner.os }}-terraform-${{ env.STACK_DIR }}
restore-keys: |
${{ runner.os }}-terraform-${{ env.STACK_DIR }}
# ${{ hashFiles('**/.terraform.lock.hcl') }}
outputs:
terra_path: ${{ steps.init.outputs.terra_bin }}
# ############
# APPLY
# ############
Terraform_Apply:
name: 'Terraform Apply'
runs-on: ubuntu-latest
environment: aws-labs
needs: [terraform_setup]
# Use default shell and working directory regardless of the os of the GitHub Actions runner
defaults:
run:
shell: bash
working-directory: ${{ env.STACK_DIR }}
steps:
# Checkout the repository to the GitHub Actions runner not necessary. The cache has it
- name: Cache Terraform
uses: actions/cache@v3
with:
path: |
~/.terraform.d/plugin-cache
./*
key: ${{ runner.os }}-terraform-${{ env.STACK_DIR }}
restore-keys: |
${{ runner.os }}-terraform-${{ env.STACK_DIR }}
# Configure terraform pluggin in the new runner
- name: Config Terraform plugin cache
run: |
echo 'plugin_cache_dir="$HOME/.terraform.d/plugin-cache"' >~/.terraformrc

# terraform init not needed here . int files are already in the cache
# TERRAPATH="${{ needs.terraform_setup.outputs.terra_path }}"
# echo old terraform binary location: $TERRAPATH
# Authenticate with Azure using OIDC Workload Federated Identiry (i.e User Manged Identity)
- name: 'Configure AWS credentials'
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# arn:aws:iam::1234567890:role/example-role
role-session-name: MySessionName #${{ secrets.My_sessionName }}
aws-region: ${{ vars.AWS_REGION }}
# APPLY
- name: Terraform Apply
id: plan
if: github.event_name == 'push'
run: |
echo ====== APPLY execution for the Terraform configuration in ${{ env.STACK_DIR }} ======
echo "== Reusing cached version of terraform =="
sudo cp ./terraform /usr/local/bin/
terraform -v
terraform plan -input=false -no-color -out tf.plan
terraform apply --auto-approve tf.plan
# Create a cache for the terraform state file
- name: Cache Terraform statefile
uses: actions/cache@v3
with:
path: |
${{ env.STACK_DIR }}/terraform.tfstate
key: ${{ runner.os }}-terraform-apply-aws-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-terraform-apply-${{ github.run_id }}
# ############
# DESTROY
# ############
Terraform_Destroy:
name: 'Terraform Destroy'
runs-on: ubuntu-latest
environment: aws-labs
permissions: write-all
needs: [Terraform_Apply]
# Use default shell and working directory regardless of the os of the GitHub Actions runner
defaults:
run:
shell: bash
working-directory: ${{ env.STACK_DIR }}
steps:
# Checkout the repository to the GitHub Actions runner not necessary. The cache has it
- name: Cache Terraform
uses: actions/cache@v3
with:
path: |
~/.terraform.d/plugin-cache
./*
key: ${{ runner.os }}-terraform-${{ env.STACK_DIR }}
restore-keys: |
${{ runner.os }}-terraform-${{ env.STACK_DIR }}
# Configure terraform pluggin in the new runner
- name: Config Terraform plugin cache
run: |
echo 'plugin_cache_dir="$HOME/.terraform.d/plugin-cache"' >~/.terraformrc
# Restore a cache for the terraform state file
- name: Cache Terraform statefile
uses: actions/cache@v3
with:
path: |
${{ env.STACK_DIR }}/terraform.tfstate
key: ${{ runner.os }}-terraform-apply-aws-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-terraform-apply
# terraform init not needed here . int files are already in the cache
# ls terraform.tfstate
# Authenticate with Azure using OIDC Workload Federated Identiry (i.e User Manged Identity)
- name: 'Configure AWS credentials'
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# arn:aws:iam::1234567890:role/example-role
role-session-name: MySessionName #${{ secrets.My_sessionName }}
aws-region: ${{ vars.AWS_REGION }}
# clean terraform cache after destroy completion
# DESTROY
- name: Terraform Destroy
id: destroy
run: |
echo ====== Destroy the Terraform configuration in ${{ env.STACK_DIR }} ======
echo "== Reusing cached version of terraform =="
sudo cp ./terraform /usr/local/bin/
terraform -v
terraform destroy --auto-approve
# clean terraform cache after destroy completion
- name: clean cache
id: cache_deletion
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh extension install actions/gh-actions-cache
echo " deleting tfstate caches"
gh actions-cache list
gh actions-cache delete ${{ runner.os }}-terraform-apply-aws-${{ github.run_id }} --confirm
gh actions-cache delete ${{ runner.os }}-terraform-${{ env.STACK_DIR }} --confirm
Loading
Loading