2024-04-26 06:06:01 -04:00
name : Update TFState
2024-05-08 04:34:10 -04:00
description : "Update the terraform state artifact. We use this to either delete an artifact if the e2e test was cleaned up successfully or to update the artifact with the latest terraform state."
2024-04-26 06:06:01 -04:00
inputs :
2024-05-03 02:17:40 -04:00
name :
2024-04-26 06:06:01 -04:00
description : "The name of the artifact that contains the tfstate."
required : true
runID :
description : "The ID of your current run (github.run_id)."
required : true
encryptionSecret :
description : "The encryption secret for the artifacts."
required : true
runs :
using : "composite"
steps :
2024-05-08 04:34:10 -04:00
- name : Check if uploaded tfstate can be deleted
if : always()
2024-04-26 06:06:01 -04:00
shell : bash
run : |
2024-05-08 04:34:10 -04:00
if [[ ! -d constellation-terraform ]] && [[ ! -d constellation-iam-terraform ]]; then
2024-05-03 02:17:40 -04:00
echo "DELETE_TF_STATE=true" >> "$GITHUB_ENV"
2024-04-26 06:06:01 -04:00
else
2024-05-03 02:17:40 -04:00
echo "DELETE_TF_STATE=false" >> "$GITHUB_ENV"
2024-04-26 06:06:01 -04:00
fi
- name : Delete tfstate artifact if necessary
2024-05-08 04:34:10 -04:00
if : always() && env.DELETE_TF_STATE == 'true'
2024-04-26 06:06:01 -04:00
uses : ./.github/actions/artifact_delete
with :
name : ${{ inputs.name }}
workflowID : ${{ inputs.runID }}
2024-05-08 04:34:10 -04:00
- name : Prepare left over terraform state folders
if : always() && env.DELETE_TF_STATE == 'false'
2024-04-26 06:06:01 -04:00
shell : bash
run : |
rm -rf to-zip/*
2024-05-03 02:17:40 -04:00
mkdir -p to-zip
2024-04-26 06:06:01 -04:00
to_upload=""
2024-05-03 02:17:40 -04:00
if [[ -d constellation-terraform ]]; then
cp -r constellation-terraform to-zip
rm -f to-zip/constellation-terraform/plan.zip
rm -rf to-zip/constellation-terraform/.terraform
to_upload+="to-zip/constellation-terraform"
2024-04-26 06:06:01 -04:00
fi
2024-05-03 02:17:40 -04:00
if [[ -d constellation-iam-terraform ]]; then
cp -r constellation-iam-terraform to-zip
rm -rf to-zip/constellation-iam-terraform/.terraform
to_upload+=" to-zip/constellation-iam-terraform"
2024-04-26 06:06:01 -04:00
fi
echo "TO_UPLOAD=$to_upload" >> "$GITHUB_ENV"
- name : Update tfstate
2024-05-03 02:17:40 -04:00
if : always() && env.TO_UPLOAD != ''
2024-04-26 06:06:01 -04:00
uses : ./.github/actions/artifact_upload
with :
name : ${{ inputs.name }}
path : >
${{ env.TO_UPLOAD }}
encryptionSecret : ${{ inputs.encryptionSecret }}
overwrite : true