Fixed secret issue #39
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Terraform Terragrunt Action | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- stage | ||
- dev | ||
workflow_dispatch: # Triggered manually from GitHub UI | ||
jobs: | ||
terraform: | ||
runs-on: ubuntu-latest | ||
env: | ||
THE_TG_VERSION: ${{ secrets.THE_TG_VERSION }} | ||
THE_TF_VERSION: ${{ secrets.THE_TF_VERSION }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
- name: Set Terraform workspace and Terragrunt workdir based on branch | ||
id: set-workspace | ||
run: | | ||
Check failure on line 23 in .github/workflows/terraform-terragrunt.yml GitHub Actions / Terraform Terragrunt ActionInvalid workflow file
|
||
BRANCH_NAME=${GITHUB_REF#refs/heads/} | ||
UPPER_BRANCH_NAME=$(echo "${BRANCH_NAME^^}") | ||
if [ "$BRANCH_NAME" == "main" ] || [ "$BRANCH_NAME" == "stage" ] || [ "$BRANCH_NAME" == "dev" ]; then | ||
echo "TF_WORKSPACE=${{ secrets[UPPER_BRANCH_NAME + '_TF_WORKSPACE'] }}" >> $GITHUB_ENV | ||
echo "TG_WORKDIR=${{ secrets[UPPER_BRANCH_NAME + '_TG_WORKDIR'] }}" >> $GITHUB_ENV | ||
else | ||
echo "TF_WORKSPACE=default" >> $GITHUB_ENV | ||
echo "TG_WORKDIR=environment/default" >> $GITHUB_ENV | ||
fi | ||
- name: Print Terraform and Terragrunt versions | ||
run: | | ||
echo "Terraform Version: ${{ env.THE_TF_VERSION }}" | ||
echo "Terragrunt Version: ${{ env.THE_TG_VERSION }}" | ||
- name: Set up Terraform CLI | ||
uses: hashicorp/setup-terraform@v3 | ||
with: | ||
terraform_version: ${{ env.THE_TF_VERSION }} | ||
terraform_wrapper: true | ||
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} | ||
- name: Set up Terragrunt CLI | ||
run: | | ||
wget -qO /tmp/terragrunt https://github.com/gruntwork-io/terragrunt/releases/download/v${{ env.THE_TG_VERSION }}/terragrunt_linux_amd64 | ||
sudo chmod +x /tmp/terragrunt | ||
sudo mv /tmp/terragrunt /usr/local/bin/terragrunt | ||
echo "✅ Terragrunt CLI setup completed!" | ||
- name: Run symlink-modules.sh | ||
run: | | ||
./symlink-modules.sh | ||
echo "🔗 Symlink modules completed!" | ||
- name: Terragrunt init | ||
run: | | ||
cd ${{ github.workspace }}/$TG_WORKDIR | ||
terragrunt init --terragrunt-non-interactive | ||
echo "🔧 Terragrunt init completed!" | ||
- name: Terragrunt plan | ||
run: | | ||
cd ${{ github.workspace }}/$TG_WORKDIR | ||
terragrunt plan --terragrunt-non-interactive | ||
echo "📝 Terragrunt plan completed!" | ||
- name: Display success message | ||
if: github.event_name == 'workflow_dispatch' | ||
run: | | ||
echo "🚀 Terraform Terragrunt Action triggered manually!" |