From e115576a740d8ea56d140d76c27b4d10eec6d492 Mon Sep 17 00:00:00 2001 From: digorgonzola <29941279+digorgonzola@users.noreply.github.com> Date: Tue, 19 Dec 2023 21:29:12 +1100 Subject: [PATCH] temp debug vars --- .github/workflows/deploy-development.yml | 258 ++++++++++++----------- 1 file changed, 132 insertions(+), 126 deletions(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index c60e3ce..f3fc808 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -11,132 +11,138 @@ permissions: contents: read # This is required for actions/checkout jobs: - build_test_push: + test_vars: runs-on: ubuntu-latest environment: tf-development - outputs: - image_tag: ${{ steps.set_image_tag.outputs.image_tag }} steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Setup Docker Structure Test - run: > - curl -LO - https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 - && chmod +x container-structure-test-linux-amd64 && sudo mv container-structure-test-linux-amd64 - /usr/local/bin/container-structure-test - - - name: Set Image Tag - id: set_image_tag - run: | - branch_name=${{ github.head_ref || github.ref_name }} - tag=${{ env.TAG_PREFIX}}-${branch_name//\//-} - echo "$tag" - echo "image_tag=$tag" >> $GITHUB_OUTPUT - env: - TAG_PREFIX: dev - - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17' - cache: 'maven' - - - name: Build with Maven - run: mvn -B package --file pom.xml - - - name: Build Docker Image - uses: docker/build-push-action@v5 - with: - context: . - load: true - tags: ${{ vars.ECR_REPOSITORY }}:${{ steps.set_image_tag.outputs.image_tag }} - - - name: Test Docker Image - run: | - container-structure-test test --image ${{ vars.ECR_REPOSITORY }}:${{ steps.set_image_tag.outputs.image_tag }} --config tests/config.yaml - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - audience: sts.amazonaws.com - aws-region: ${{ vars.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - - - name: Login to ECR - uses: docker/login-action@v3 - with: - registry: ${{ vars.ECR_REGISTRY }} - - - name: Build and Push Docker Image - id: build_and_push - uses: docker/build-push-action@v5 - with: - context: . -# Only building for AMD64 for now -# platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:${{ steps.set_image_tag.outputs.image_tag }} - - development_deploy: - runs-on: ubuntu-latest - environment: tf-development - env: - tf_version: '1.5.7' - tg_version: '0.54.0' - tg_dir: './deploy/tg' - needs: [build_test_push] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - audience: sts.amazonaws.com - aws-region: ${{ vars.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - - - name: Expose github environment as shell variables - env: - SECRETS_CONTEXT: ${{ toJson(secrets) }} - VARS_CONTEXT: ${{ toJson(vars) }} - run: | - EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) - to_envs() { jq -r "to_entries[] | \"\(.key)<<$EOF\n\(.value)\n$EOF\n\""; } - echo "$VARS_CONTEXT" | to_envs >> $GITHUB_ENV - echo "$SECRETS_CONTEXT" | to_envs >> $GITHUB_ENV - - - name: Terragrunt Plan - uses: gruntwork-io/terragrunt-action@v2 - with: - tf_version: ${{ env.tf_version }} - tg_version: ${{ env.tg_version }} - tg_dir: ${{ env.tg_dir }} - tg_command: 'run-all plan -out=tf.plan' - env: - TF_INPUT: 0 - TF_IN_AUTOMATION: true - # get the image digest from the build job with optional override from vars context - TF_VAR_image: ${{ vars.IMAGE || needs.build_test_push.outputs.image_tag }} - - - name: Terragrunt Apply - uses: gruntwork-io/terragrunt-action@v2 - with: - tf_version: ${{ env.tf_version }} - tg_version: ${{ env.tg_version }} - tg_dir: ${{ env.tg_dir }} - tg_command: '--terragrunt-non-interactive --terragrunt-log-level info run-all apply -auto-approve tf.plan' - env: - TF_INPUT: 0 - TF_IN_AUTOMATION: true - # get the image digest from the build job with optional override from vars context - TF_VAR_image: ${{ vars.IMAGE || needs.build_test_push.outputs.image_tag }} + - name: Export TF_VAR variables + run: echo ${{ toJSON(vars) }} +# build_test_push: +# runs-on: ubuntu-latest +# environment: tf-development +# outputs: +# image_tag: ${{ steps.set_image_tag.outputs.image_tag }} +# steps: +# - name: Checkout +# uses: actions/checkout@v4 +# +# - name: Set up QEMU +# uses: docker/setup-qemu-action@v3 +# +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v3 +# +# - name: Setup Docker Structure Test +# run: > +# curl -LO +# https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 +# && chmod +x container-structure-test-linux-amd64 && sudo mv container-structure-test-linux-amd64 +# /usr/local/bin/container-structure-test +# +# - name: Set Image Tag +# id: set_image_tag +# run: | +# branch_name=${{ github.head_ref || github.ref_name }} +# tag=${{ env.TAG_PREFIX}}-${branch_name//\//-} +# echo "$tag" +# echo "image_tag=$tag" >> $GITHUB_OUTPUT +# env: +# TAG_PREFIX: dev +# +# - name: Set up JDK 17 +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: '17' +# cache: 'maven' +# +# - name: Build with Maven +# run: mvn -B package --file pom.xml +# +# - name: Build Docker Image +# uses: docker/build-push-action@v5 +# with: +# context: . +# load: true +# tags: ${{ vars.ECR_REPOSITORY }}:${{ steps.set_image_tag.outputs.image_tag }} +# +# - name: Test Docker Image +# run: | +# container-structure-test test --image ${{ vars.ECR_REPOSITORY }}:${{ steps.set_image_tag.outputs.image_tag }} --config tests/config.yaml +# +# - name: Configure AWS Credentials +# uses: aws-actions/configure-aws-credentials@v4 +# with: +# audience: sts.amazonaws.com +# aws-region: ${{ vars.AWS_REGION }} +# role-to-assume: ${{ secrets.AWS_ROLE_ARN }} +# +# - name: Login to ECR +# uses: docker/login-action@v3 +# with: +# registry: ${{ vars.ECR_REGISTRY }} +# +# - name: Build and Push Docker Image +# id: build_and_push +# uses: docker/build-push-action@v5 +# with: +# context: . +## Only building for AMD64 for now +## platforms: linux/amd64,linux/arm64 +# push: true +# tags: ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:${{ steps.set_image_tag.outputs.image_tag }} +# +# development_deploy: +# runs-on: ubuntu-latest +# environment: tf-development +# env: +# tf_version: '1.5.7' +# tg_version: '0.54.0' +# tg_dir: './deploy/tg' +# needs: [build_test_push] +# steps: +# - name: Checkout +# uses: actions/checkout@v4 +# +# - name: Configure AWS Credentials +# uses: aws-actions/configure-aws-credentials@v4 +# with: +# audience: sts.amazonaws.com +# aws-region: ${{ vars.AWS_REGION }} +# role-to-assume: ${{ secrets.AWS_ROLE_ARN }} +# +# - name: Expose github environment as shell variables +# env: +# SECRETS_CONTEXT: ${{ toJson(secrets) }} +# VARS_CONTEXT: ${{ toJson(vars) }} +# run: | +# EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) +# to_envs() { jq -r "to_entries[] | \"\(.key)<<$EOF\n\(.value)\n$EOF\n\""; } +# echo "$VARS_CONTEXT" | to_envs >> $GITHUB_ENV +# echo "$SECRETS_CONTEXT" | to_envs >> $GITHUB_ENV +# +# - name: Terragrunt Plan +# uses: gruntwork-io/terragrunt-action@v2 +# with: +# tf_version: ${{ env.tf_version }} +# tg_version: ${{ env.tg_version }} +# tg_dir: ${{ env.tg_dir }} +# tg_command: 'run-all plan -out=tf.plan' +# env: +# TF_INPUT: 0 +# TF_IN_AUTOMATION: true +# # get the image digest from the build job with optional override from vars context +# TF_VAR_image: ${{ vars.IMAGE || needs.build_test_push.outputs.image_tag }} +# +# - name: Terragrunt Apply +# uses: gruntwork-io/terragrunt-action@v2 +# with: +# tf_version: ${{ env.tf_version }} +# tg_version: ${{ env.tg_version }} +# tg_dir: ${{ env.tg_dir }} +# tg_command: '--terragrunt-non-interactive --terragrunt-log-level info run-all apply -auto-approve tf.plan' +# env: +# TF_INPUT: 0 +# TF_IN_AUTOMATION: true +# # get the image digest from the build job with optional override from vars context +# TF_VAR_image: ${{ vars.IMAGE || needs.build_test_push.outputs.image_tag }}