name: Deploy CI on: workflow_call: secrets: INNER_SOURCE_ACTIONS_APP_ID: required: true INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: required: true GH_PAT_TOKEN: required: true HSDP_DOCKER_USER: required: true HSDP_DOCKER_PASSWORD: required: true CODESCENE_CI_CD_GITHUB_TOKEN: required: true ARM_CLIENT_ID: required: true ARM_CLIENT_SECRET: required: true env: TF_IN_AUTOMATION: true ARM_SUBSCRIPTION_ID: 74d03f75-4bdb-4666-8095-500178a40764 ARM_TENANT_ID: 1a407a2d-7675-4d17-8692-b3ac285306e4 jobs: terragrunt-workflow-core: name: Terragrunt - core runs-on: ubuntu-20.04 container: alpine/terragrunt:1.0.1 outputs: core: ${{ steps.tf_output.outputs.core }} env: ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} defaults: run: working-directory: ./deploy/ci-gated/core strategy: fail-fast: false steps: - uses: actions/checkout@v1 - id: inner-source-action uses: ./.github/workflows/innersource-action with: GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }} INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }} INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }} - id: plan uses: ./../.actions/terragrunt-plan-action with: working-directory: ./deploy/ci-gated/core key: client-test-core-plan - id: apply uses: ./../.actions/terragrunt-apply-action with: working-directory: ./deploy/ci-gated/core key: client-test-core-plan - id: output uses: ./.github/workflows/terragrunt-output-action with: working-directory: ./deploy/ci-gated/core key: client-test-core-output terragrunt-workflow-cloudfoundry: name: Terragrunt - cloudfoundry runs-on: ubuntu-20.04 needs: [terragrunt-workflow-core] container: alpine/terragrunt:1.0.1 env: ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} defaults: run: working-directory: ./deploy/ci-gated/cloudfoundry strategy: fail-fast: false steps: - uses: actions/checkout@v1 - id: inner-source-action uses: ./.github/workflows/innersource-action with: GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }} INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }} INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }} - id: plan uses: ./../.actions/terragrunt-plan-action with: working-directory: ./deploy/ci-gated/cloudfoundry key: client-test-cloudfoundry-plan - id: apply uses: ./../.actions/terragrunt-apply-action with: working-directory: ./deploy/ci-gated/cloudfoundry key: client-test-cloudfoundry-plan terragrunt-workflow-api-gateway: name: Terragrunt - api-gateway runs-on: ubuntu-20.04 needs: [terragrunt-workflow-cloudfoundry] container: alpine/terragrunt:1.0.1 env: ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} CONFIG: ./envoyconfig_without_multitenancy.yml SOURCE: url defaults: run: working-directory: ./deploy/ci-gated/api-gateway strategy: fail-fast: false steps: - uses: actions/checkout@v1 - id: inner-source-action uses: ./.github/workflows/innersource-action with: GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }} INNER_SOURCE_ACTIONS_APP_ID: ${{ secrets.INNER_SOURCE_ACTIONS_APP_ID }} INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64: ${{ secrets.INNER_SOURCE_ACTIONS_APP_PRIVATE_KEY_BASE64 }} - id: plan uses: ./../.actions/terragrunt-plan-action with: working-directory: ./deploy/ci-gated/api-gateway key: client-test-api-gateway-plan - id: apply uses: ./../.actions/terragrunt-apply-action with: working-directory: ./deploy/ci-gated/api-gateway key: client-test-api-gateway-plan - id: output uses: ./.github/workflows/terragrunt-output-action with: working-directory: ./deploy/ci-gated/api-gateway key: client-test-api-gateway-output