144 lines
4.4 KiB
YAML
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 |