oauth2-proxy/.github/workflows/ci-deploy-gated.yml

144 lines
4.4 KiB
YAML

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