From a145314bfd873fd1adbefb69cd1d7f57f0d7bff4 Mon Sep 17 00:00:00 2001 From: Anthony Lukach Date: Thu, 23 Jan 2025 15:08:48 -0800 Subject: [PATCH] Rework cicd pipeline to support dev & prod (#24) --- .github/workflows/cicd.yaml | 22 ++++++++++++++++++++++ .github/workflows/deploy.yaml | 29 +++++++++++++++-------------- 2 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/cicd.yaml diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml new file mode 100644 index 0000000..940fb3b --- /dev/null +++ b/.github/workflows/cicd.yaml @@ -0,0 +1,22 @@ +name: CICD + +on: + push: + branches: + - main + release: + types: + - created + +jobs: + deploy-dev: + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: ./.github/workflows/deploy.yaml + with: + environment: dev + + deploy-prod: + if: github.event_name == 'release' + uses: ./.github/workflows/deploy.yaml + with: + environment: prod diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 14193b9..0df57b9 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -1,22 +1,23 @@ -name: Deploy CDK +name: 🚀 Deploy & Configure Service on: - push: - branches: - - main - workflow_dispatch: + workflow_call: + inputs: + environment: + required: true + description: "Environment to deploy to" + type: string -permissions: - id-token: write - contents: read +concurrency: + group: ${{ inputs.environment }} + cancel-in-progress: false + +run-name: Deploy to ${{ inputs.environment }} environment by @${{ github.actor }} jobs: deploy: runs-on: ubuntu-latest - environment: dev - concurrency: - group: dev_env - cancel-in-progress: false + environment: ${{ inputs.environment }} steps: - name: Checkout the repository @@ -51,7 +52,7 @@ jobs: KEYCLOAK_VERSION: ${{ vars.KEYCLOAK_VERSION }} KEYCLOAK_CONFIG_CLI_VERSION: ${{ vars.KEYCLOAK_CONFIG_CLI_VERSION }} SSL_CERTIFICATE_ARN: ${{ vars.SSL_CERTIFICATE_ARN }} - STAGE: ${{ vars.STAGE }} + STAGE: ${{ inputs.environment }} # Imported Identity Provider secrets IDP_SECRET_ARN_GH: ${{ vars.IDP_SECRET_ARN_GH }} IDP_SECRET_ARN_CILOGON: ${{ vars.IDP_SECRET_ARN_CILOGON }} @@ -59,7 +60,7 @@ jobs: - name: Get ConfigLambdaArn from CloudFormation id: get-lambda-arn run: | - echo "CONFIG_LAMBDA_ARN=$(jq -r '."veda-keycloak-${{ vars.STAGE }}".ConfigLambdaArn' outputs.json)" >> $GITHUB_ENV + echo "CONFIG_LAMBDA_ARN=$(jq -r '."veda-keycloak-${{ inputs.environment }}".ConfigLambdaArn' outputs.json)" >> $GITHUB_ENV - name: Run Apply Config run: npm run apply-config $CONFIG_LAMBDA_ARN