From 5a2c3a52a8d219f195d1193366ddd0d00edda312 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Tue, 27 Aug 2024 16:37:22 -0700 Subject: [PATCH 01/17] Create openshift.yml --- .github/workflows/openshift.yml | 202 ++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 .github/workflows/openshift.yml diff --git a/.github/workflows/openshift.yml b/.github/workflows/openshift.yml new file mode 100644 index 0000000000..bbf0579770 --- /dev/null +++ b/.github/workflows/openshift.yml @@ -0,0 +1,202 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# 💁 The OpenShift Starter workflow will: +# - Checkout your repository +# - Perform a container image build +# - Push the built image to the GitHub Container Registry (GHCR) +# - Log in to your OpenShift cluster +# - Create an OpenShift app from the image and expose it to the internet + +# ℹī¸ Configure your repository and the workflow with the following steps: +# 1. Have access to an OpenShift cluster. Refer to https://www.openshift.com/try +# 2. Create the OPENSHIFT_SERVER and OPENSHIFT_TOKEN repository secrets. Refer to: +# - https://github.com/redhat-actions/oc-login#readme +# - https://docs.github.com/en/actions/reference/encrypted-secrets +# - https://cli.github.com/manual/gh_secret_set +# 3. (Optional) Edit the top-level 'env' section as marked with '🖊ī¸' if the defaults are not suitable for your project. +# 4. (Optional) Edit the build-image step to build your project. +# The default build type is by using a Dockerfile at the root of the repository, +# but can be replaced with a different file, a source-to-image build, or a step-by-step buildah build. +# 5. Commit and push the workflow file to your default branch to trigger a workflow run. + +# 👋 Visit our GitHub organization at https://github.com/redhat-actions/ to see our actions and provide feedback. + +name: OpenShift + +env: + # 🖊ī¸ EDIT your repository secrets to log into your OpenShift cluster and set up the context. + # See https://github.com/redhat-actions/oc-login#readme for how to retrieve these values. + # To get a permanent token, refer to https://github.com/redhat-actions/oc-login/wiki/Using-a-Service-Account-for-GitHub-Actions + OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} + OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} + # 🖊ī¸ EDIT to set the kube context's namespace after login. Leave blank to use your user's default namespace. + OPENSHIFT_NAMESPACE: "" + + # 🖊ī¸ EDIT to set a name for your OpenShift app, or a default one will be generated below. + APP_NAME: "" + + # 🖊ī¸ EDIT with the port your application should be accessible on. + # If the container image exposes *exactly one* port, this can be left blank. + # Refer to the 'port' input of https://github.com/redhat-actions/oc-new-app + APP_PORT: "" + + # 🖊ī¸ EDIT to change the image registry settings. + # Registries such as GHCR, Quay.io, and Docker Hub are supported. + IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} + IMAGE_REGISTRY_USER: ${{ github.actor }} + IMAGE_REGISTRY_PASSWORD: ${{ github.token }} + + # 🖊ī¸ EDIT to specify custom tags for the container image, or default tags will be generated below. + IMAGE_TAGS: "" + +on: + # https://docs.github.com/en/actions/reference/events-that-trigger-workflows + workflow_dispatch: + push: + # Edit to the branch(es) you want to build and deploy on each push. + branches: [ "dev" ] + +jobs: + # 🖊ī¸ EDIT if you want to run vulnerability check on your project before deploying + # the application. Please uncomment the below CRDA scan job and configure to run it in + # your workflow. For details about CRDA action visit https://github.com/redhat-actions/crda/blob/main/README.md + # + # TODO: Make sure to add 'CRDA Scan' starter workflow from the 'Actions' tab. + # For guide on adding new starter workflow visit https://docs.github.com/en/github-ae@latest/actions/using-workflows/using-starter-workflows + + #crda-scan: + # uses: ./.github/workflows/crda.yml + # secrets: + # CRDA_KEY: ${{ secrets.CRDA_KEY }} + # # SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} # Either use SNYK_TOKEN or CRDA_KEY + + openshift-ci-cd: + # 🖊ī¸ Uncomment this if you are using CRDA scan step above + # needs: crda-scan + name: Build and deploy to OpenShift + runs-on: ubuntu-20.04 + environment: production + + outputs: + ROUTE: ${{ steps.deploy-and-expose.outputs.route }} + SELECTOR: ${{ steps.deploy-and-expose.outputs.selector }} + + steps: + - name: Check for required secrets + uses: actions/github-script@v6 + with: + script: | + const secrets = { + OPENSHIFT_SERVER: `${{ secrets.OPENSHIFT_SERVER }}`, + OPENSHIFT_TOKEN: `${{ secrets.OPENSHIFT_TOKEN }}`, + }; + + const GHCR = "ghcr.io"; + if (`${{ env.IMAGE_REGISTRY }}`.startsWith(GHCR)) { + core.info(`Image registry is ${GHCR} - no registry password required`); + } + else { + core.info("A registry password is required"); + secrets["IMAGE_REGISTRY_PASSWORD"] = `${{ secrets.IMAGE_REGISTRY_PASSWORD }}`; + } + + const missingSecrets = Object.entries(secrets).filter(([ name, value ]) => { + if (value.length === 0) { + core.error(`Secret "${name}" is not set`); + return true; + } + core.info(`✔ī¸ Secret "${name}" is set`); + return false; + }); + + if (missingSecrets.length > 0) { + core.setFailed(`❌ At least one required secret is not set in the repository. \n` + + "You can add it using:\n" + + "GitHub UI: https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository \n" + + "GitHub CLI: https://cli.github.com/manual/gh_secret_set \n" + + "Also, refer to https://github.com/redhat-actions/oc-login#getting-started-with-the-action-or-see-example"); + } + else { + core.info(`✅ All the required secrets are set`); + } + + - name: Check out repository + uses: actions/checkout@v4 + + - name: Determine app name + if: env.APP_NAME == '' + run: | + echo "APP_NAME=$(basename $PWD)" | tee -a $GITHUB_ENV + + - name: Determine image tags + if: env.IMAGE_TAGS == '' + run: | + echo "IMAGE_TAGS=latest ${GITHUB_SHA::12}" | tee -a $GITHUB_ENV + + # https://github.com/redhat-actions/buildah-build#readme + - name: Build from Dockerfile + id: build-image + uses: redhat-actions/buildah-build@v2 + with: + image: ${{ env.APP_NAME }} + tags: ${{ env.IMAGE_TAGS }} + + # If you don't have a Dockerfile/Containerfile, refer to https://github.com/redhat-actions/buildah-build#scratch-build-inputs + # Or, perform a source-to-image build using https://github.com/redhat-actions/s2i-build + # Otherwise, point this to your Dockerfile/Containerfile relative to the repository root. + dockerfiles: | + ./Dockerfile + + # https://github.com/redhat-actions/push-to-registry#readme + - name: Push to registry + id: push-image + uses: redhat-actions/push-to-registry@v2 + with: + image: ${{ steps.build-image.outputs.image }} + tags: ${{ steps.build-image.outputs.tags }} + registry: ${{ env.IMAGE_REGISTRY }} + username: ${{ env.IMAGE_REGISTRY_USER }} + password: ${{ env.IMAGE_REGISTRY_PASSWORD }} + + # The path the image was pushed to is now stored in ${{ steps.push-image.outputs.registry-path }} + + - name: Install oc + uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: 4 + + # https://github.com/redhat-actions/oc-login#readme + - name: Log in to OpenShift + uses: redhat-actions/oc-login@v1 + with: + openshift_server_url: ${{ env.OPENSHIFT_SERVER }} + openshift_token: ${{ env.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.OPENSHIFT_NAMESPACE }} + + # This step should create a deployment, service, and route to run your app and expose it to the internet. + # https://github.com/redhat-actions/oc-new-app#readme + - name: Create and expose app + id: deploy-and-expose + uses: redhat-actions/oc-new-app@v1 + with: + app_name: ${{ env.APP_NAME }} + image: ${{ steps.push-image.outputs.registry-path }} + namespace: ${{ env.OPENSHIFT_NAMESPACE }} + port: ${{ env.APP_PORT }} + + - name: Print application URL + env: + ROUTE: ${{ steps.deploy-and-expose.outputs.route }} + SELECTOR: ${{ steps.deploy-and-expose.outputs.selector }} + run: | + [[ -n ${{ env.ROUTE }} ]] || (echo "Determining application route failed in previous step"; exit 1) + echo + echo "======================== Your application is available at: ========================" + echo ${{ env.ROUTE }} + echo "===================================================================================" + echo + echo "Your app can be taken down with: \"oc delete all --selector='${{ env.SELECTOR }}'\"" From 02333946de9d5f338ba62da8649cace0c1b35866 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 23:37:57 +0000 Subject: [PATCH 02/17] CI: Bump version to v5.5.0-87.20 --- source/backend/api/Pims.Api.csproj | 4 ++-- source/frontend/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/backend/api/Pims.Api.csproj b/source/backend/api/Pims.Api.csproj index b310dc713b..40bfe92211 100644 --- a/source/backend/api/Pims.Api.csproj +++ b/source/backend/api/Pims.Api.csproj @@ -2,8 +2,8 @@ 0ef6255f-9ea0-49ec-8c65-c172304b4926 - 5.5.0-87.19 - 5.5.0-87.19 + 5.5.0-87.20 + 5.5.0-87.20 5.5.0.87 true 16BC0468-78F6-4C91-87DA-7403C919E646 diff --git a/source/frontend/package.json b/source/frontend/package.json index 84672578c4..11ba32b421 100644 --- a/source/frontend/package.json +++ b/source/frontend/package.json @@ -1,6 +1,6 @@ { "name": "frontend", - "version": "5.5.0-87.19", + "version": "5.5.0-87.20", "private": true, "dependencies": { "@bcgov/bc-sans": "1.0.1", From 8b0dc79abcb7c9c39f8dfd829a4e6fbea35ced24 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Tue, 27 Aug 2024 17:03:38 -0700 Subject: [PATCH 03/17] Create aws.yml --- .github/workflows/aws.yml | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/aws.yml diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml new file mode 100644 index 0000000000..530f45e708 --- /dev/null +++ b/.github/workflows/aws.yml @@ -0,0 +1,54 @@ +# This workflow will build and push a new container image to Amazon ECR, +# and then will deploy a new task definition to Amazon ECS, when there is a push to the "dev" branch. +# +# To use this workflow, you will need to complete the following set-up steps: +# +# 1. Create an ECR repository to store your images. +# For example: `aws ecr create-repository --repository-name my-ecr-repo --region us-east-2`. +# Replace the value of the `ECR_REPOSITORY` environment variable in the workflow below with your repository's name. +# Replace the value of the `AWS_REGION` environment variable in the workflow below with your repository's region. +# +# 2. Create an ECS task definition, an ECS cluster, and an ECS service. +# For example, follow the Getting Started guide on the ECS console: +# https://us-east-2.console.aws.amazon.com/ecs/home?region=us-east-2#/firstRun +# Replace the value of the `ECS_SERVICE` environment variable in the workflow below with the name you set for the Amazon ECS service. +# Replace the value of the `ECS_CLUSTER` environment variable in the workflow below with the name you set for the cluster. +# +# 3. Store your ECS task definition as a JSON file in your repository. +# The format should follow the output of `aws ecs register-task-definition --generate-cli-skeleton`. +# Replace the value of the `ECS_TASK_DEFINITION` environment variable in the workflow below with the path to the JSON file. +# Replace the value of the `CONTAINER_NAME` environment variable in the workflow below with the name of the container +# in the `containerDefinitions` section of the task definition. +# +# 4. Store an IAM user access key in GitHub Actions secrets named `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`. +# See the documentation for each action used below for the recommended IAM policies for this IAM user, +# and best practices on handling the access key credentials. + +name: Deploy to Amazon ECS + +on: + workflow_dispatch: + inputs: + name: + description: 'lalala' + default: 'fii' + required: true + +env: + MY_PROD_SECRET: ${{ secrets.LE_SECRET }} # set this to your preferred AWS region, e.g. us-west-1 + + +permissions: + contents: read + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + environment: production + + steps: + - name: Send greeting + run: echo "Hello ${{github.event.inputs.name}}" + - name: Secrety + run: echo "secrety ${{env.MY_PROD_SECRET}}" From 34f94d0f3a13abeba9496b3100e51b90a7d266c3 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 11:21:39 -0700 Subject: [PATCH 04/17] testing deploy --- .github/workflows/aws.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml index 530f45e708..a8ba24bf03 100644 --- a/.github/workflows/aws.yml +++ b/.github/workflows/aws.yml @@ -52,3 +52,14 @@ jobs: run: echo "Hello ${{github.event.inputs.name}}" - name: Secrety run: echo "secrety ${{env.MY_PROD_SECRET}}" + + deploy: + name: Deploy + runs-on: ubuntu-latest + environment: dev + + steps: + - name: DEV Send greeting + run: echo "Hello ${{github.event.inputs.name}}" + - name: DEV Secrety + run: echo "secrety ${{env.MY_PROD_SECRET}}" From 697c441ba181e7cdabfbb390dd81dc6cfa98e622 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 11:27:31 -0700 Subject: [PATCH 05/17] Update aws.yml --- .github/workflows/aws.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml index a8ba24bf03..eb5fc01489 100644 --- a/.github/workflows/aws.yml +++ b/.github/workflows/aws.yml @@ -53,8 +53,8 @@ jobs: - name: Secrety run: echo "secrety ${{env.MY_PROD_SECRET}}" - deploy: - name: Deploy + deploy2: + name: Deploy2 runs-on: ubuntu-latest environment: dev From 2e1d8d39d3613eae359e16e2e232d7b107a0d1b7 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 11:36:49 -0700 Subject: [PATCH 06/17] testing deploy --- .github/workflows/aws.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml index a8ba24bf03..e02742b24c 100644 --- a/.github/workflows/aws.yml +++ b/.github/workflows/aws.yml @@ -53,6 +53,17 @@ jobs: - name: Secrety run: echo "secrety ${{env.MY_PROD_SECRET}}" + deploy3: + name: Deploy3 + runs-on: ubuntu-latest + environment: test + + steps: + - name: TEST Send greeting + run: echo "Hello ${{github.event.inputs.name}}" + - name: TEST Secrety + run: echo "secrety ${{env.MY_PROD_SECRET}}" + deploy: name: Deploy runs-on: ubuntu-latest From 08259302db387da063f5b4d98dec6fdd3cf1484b Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 12:29:58 -0700 Subject: [PATCH 07/17] testing deploy --- .github/workflows/aws.yml | 73 +++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml index 48a0c8818a..c181b3fa9a 100644 --- a/.github/workflows/aws.yml +++ b/.github/workflows/aws.yml @@ -42,35 +42,70 @@ permissions: contents: read jobs: - deploy: - name: Deploy + build-api: + name: Build Backend app runs-on: ubuntu-latest - environment: production steps: - - name: Send greeting - run: echo "Hello ${{github.event.inputs.name}}" - - name: Secrety - run: echo "secrety ${{env.MY_PROD_SECRET}}" + - name: build pims-api + run: echo "Builing app" + - name: store image + run: echo "storing app image" - deploy3: - name: Deploy3 + build-frontend: + name: Build Frontend runs-on: ubuntu-latest - environment: test steps: - - name: TEST Send greeting - run: echo "Hello ${{github.event.inputs.name}}" + - name: Build Frontend app + run: echo "bBuilding frontendapp" - name: TEST Secrety - run: echo "secrety ${{env.MY_PROD_SECRET}}" + run: echo "storing frontend image" - deploy2: - name: Deploy2 + deploy-dev: + name: Deploy to Dev runs-on: ubuntu-latest + needs: [build-api, build-frontend] environment: dev steps: - - name: DEV Send greeting - run: echo "Hello ${{github.event.inputs.name}}" - - name: DEV Secrety - run: echo "secrety ${{env.MY_PROD_SECRET}}" + - name: Deploying frontend to dev + run: echo "deploying to dev" + - name: Deploting backend to dev + run: echo "Deploying bakend to dev" + + deploy-test: + name: Deploy to Test + runs-on: ubuntu-latest + needs: [deploy-dev] + environment: test + + steps: + - name: Deploying frontend to test + run: echo "deploying to test" + - name: Deploting backend to test + run: echo "Deploying bakend to test" + + deploy-uat: + name: Deploy to UAT + runs-on: ubuntu-latest + needs: [deploy-test] + environment: uat + + steps: + - name: Deploying frontend to UAT + run: echo "deploying to uat" + - name: Deploting backend to uat + run: echo "Deploying bakend to uat" + + deploy-prod: + name: Deploy to Production + runs-on: ubuntu-latest + needs: [deploy-uat] + environment: production + + steps: + - name: Deploying frontend to Production + run: echo "deploying to prod" + - name: Deploting backend to prod + run: echo "Deploying bakend to prod" From 0bc9b1382efb6fcb90002027962d663823a823a4 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 12:53:15 -0700 Subject: [PATCH 08/17] testing deploy --- .github/workflows/aws.yml | 28 +------------ .github/workflows/demo-db-deploy.yml | 57 +++++++++++++++++++++++++++ .github/workflows/demo-deployment.yml | 44 +++++++++++++++++++++ 3 files changed, 102 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/demo-db-deploy.yml create mode 100644 .github/workflows/demo-deployment.yml diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml index c181b3fa9a..5e5650078b 100644 --- a/.github/workflows/aws.yml +++ b/.github/workflows/aws.yml @@ -1,30 +1,4 @@ -# This workflow will build and push a new container image to Amazon ECR, -# and then will deploy a new task definition to Amazon ECS, when there is a push to the "dev" branch. -# -# To use this workflow, you will need to complete the following set-up steps: -# -# 1. Create an ECR repository to store your images. -# For example: `aws ecr create-repository --repository-name my-ecr-repo --region us-east-2`. -# Replace the value of the `ECR_REPOSITORY` environment variable in the workflow below with your repository's name. -# Replace the value of the `AWS_REGION` environment variable in the workflow below with your repository's region. -# -# 2. Create an ECS task definition, an ECS cluster, and an ECS service. -# For example, follow the Getting Started guide on the ECS console: -# https://us-east-2.console.aws.amazon.com/ecs/home?region=us-east-2#/firstRun -# Replace the value of the `ECS_SERVICE` environment variable in the workflow below with the name you set for the Amazon ECS service. -# Replace the value of the `ECS_CLUSTER` environment variable in the workflow below with the name you set for the cluster. -# -# 3. Store your ECS task definition as a JSON file in your repository. -# The format should follow the output of `aws ecs register-task-definition --generate-cli-skeleton`. -# Replace the value of the `ECS_TASK_DEFINITION` environment variable in the workflow below with the path to the JSON file. -# Replace the value of the `CONTAINER_NAME` environment variable in the workflow below with the name of the container -# in the `containerDefinitions` section of the task definition. -# -# 4. Store an IAM user access key in GitHub Actions secrets named `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`. -# See the documentation for each action used below for the recommended IAM policies for this IAM user, -# and best practices on handling the access key credentials. - -name: Deploy to Amazon ECS +name: Demo - Application deploymennt on: workflow_dispatch: diff --git a/.github/workflows/demo-db-deploy.yml b/.github/workflows/demo-db-deploy.yml new file mode 100644 index 0000000000..acb7b66ac6 --- /dev/null +++ b/.github/workflows/demo-db-deploy.yml @@ -0,0 +1,57 @@ + +name: Deploy Database + +on: + workflow_dispatch: + inputs: + domain: + description: 'Domain to deploy the database' + required: true + + +permissions: + contents: read + +jobs: + seserser: + name: Build Backend app + runs-on: ubuntu-latest + + steps: + - name: build pims-api + run: echo "Builing app" + - name: store image + run: echo "storing app image" + + deploy-frontend: + name: Deploy frontend + runs-on: ubuntu-latest + environment: dev + + steps: + - name: Copy frontend + run: echo "coping frontend" + - name: Deploy frontend + run: echo "deploying frontend" + + deploy-backend: + name: Deploy backend + runs-on: ubuntu-latest + environment: dev + + steps: + - name: Copy backend + run: echo "coping backend" + - name: Deploy backend + run: echo "deploying backend" + + deploy-database: + name: Deploy database + runs-on: ubuntu-latest + environment: dev + + steps: + - name: Copy database + run: echo "coping database" + - name: Deploy database + run: echo "deploying database" diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml new file mode 100644 index 0000000000..8ae6a252d2 --- /dev/null +++ b/.github/workflows/demo-deployment.yml @@ -0,0 +1,44 @@ + +name: Demo - Application deploymennt + +on: + workflow_dispatch: + inputs: + name: + description: 'lalala' + default: 'fii' + required: true + +env: + MY_PROD_SECRET: ${{ secrets.LE_SECRET }} # set this to your preferred AWS region, e.g. us-west-1 + + +permissions: + contents: read + +jobs: + build-api: + name: Build Backend app + runs-on: ubuntu-latest + + steps: + - name: build pims-api + run: echo "Builing app" + - name: store image + run: echo "storing app image" + + build-frontend: + name: Build Frontend + runs-on: ubuntu-latest + + steps: + - name: Build Frontend app + run: echo "bBuilding frontendapp" + - name: TEST Secrety + run: echo "storing frontend image" + + deploy-dev: + uses: FuriousLlama/PSP/.github/workflows/demp-db-deploy.yml@main + with: + domain: dev + needs: [build-api, build-frontend] From 4cf6a84d878f839a2bfb7183c245a5cfa2757299 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 12:53:57 -0700 Subject: [PATCH 09/17] testing deploy --- .github/workflows/aws.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/aws.yml b/.github/workflows/aws.yml index 5e5650078b..a9511a4a57 100644 --- a/.github/workflows/aws.yml +++ b/.github/workflows/aws.yml @@ -1,4 +1,4 @@ -name: Demo - Application deploymennt +name: Demo - Application deploymennt2 on: workflow_dispatch: From 560e82e15573bcf3e069f3cc7f107173108e3798 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 12:55:42 -0700 Subject: [PATCH 10/17] Update demo-deployment.yml --- .github/workflows/demo-deployment.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 8ae6a252d2..6068020f26 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -1,5 +1,5 @@ -name: Demo - Application deploymennt +name: Demo - Application deployment on: workflow_dispatch: @@ -23,7 +23,7 @@ jobs: steps: - name: build pims-api - run: echo "Builing app" + run: echo "Building app" - name: store image run: echo "storing app image" @@ -38,7 +38,7 @@ jobs: run: echo "storing frontend image" deploy-dev: - uses: FuriousLlama/PSP/.github/workflows/demp-db-deploy.yml@main + uses: FuriousLlama/PSP/.github/workflows/demo-db-deploy.yml@main with: domain: dev needs: [build-api, build-frontend] From 19ed59bf40d8e6781b0550c171eb032a5dcf7001 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 12:58:05 -0700 Subject: [PATCH 11/17] testing deploy --- .github/workflows/demo-deployment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 6068020f26..034e338edc 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -38,7 +38,7 @@ jobs: run: echo "storing frontend image" deploy-dev: - uses: FuriousLlama/PSP/.github/workflows/demo-db-deploy.yml@main + uses: .github/workflows/demo-db-deploy.yml@main with: domain: dev needs: [build-api, build-frontend] From 75022c5948feacb6e506b159b481ef90818483c3 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 13:27:46 -0700 Subject: [PATCH 12/17] Update demo-deployment.yml --- .github/workflows/demo-deployment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 034e338edc..1459b3bfa9 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -38,7 +38,7 @@ jobs: run: echo "storing frontend image" deploy-dev: - uses: .github/workflows/demo-db-deploy.yml@main + uses: ./demo-db-deploy.yml@dev with: domain: dev needs: [build-api, build-frontend] From fac341e6ea28d7a07ef789f44cb1312a11cab180 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 13:28:55 -0700 Subject: [PATCH 13/17] Update demo-deployment.yml --- .github/workflows/demo-deployment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 1459b3bfa9..025cd3bb34 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -38,7 +38,7 @@ jobs: run: echo "storing frontend image" deploy-dev: - uses: ./demo-db-deploy.yml@dev + uses: .github/workflows/demo-db-deploy.yml with: domain: dev needs: [build-api, build-frontend] From fbfd1be4f5ec9d421dafe7da6447b6d971832a40 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 13:48:26 -0700 Subject: [PATCH 14/17] testing deploy --- .github/workflows/demo-db-deploy.yml | 21 +++++++++++---------- .github/workflows/demo-deployment.yml | 24 +++++++++++++++++++++++- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/.github/workflows/demo-db-deploy.yml b/.github/workflows/demo-db-deploy.yml index acb7b66ac6..4e3ef71934 100644 --- a/.github/workflows/demo-db-deploy.yml +++ b/.github/workflows/demo-db-deploy.yml @@ -2,11 +2,12 @@ name: Deploy Database on: - workflow_dispatch: + workflow_call: inputs: domain: description: 'Domain to deploy the database' required: true + type: string permissions: @@ -26,32 +27,32 @@ jobs: deploy-frontend: name: Deploy frontend runs-on: ubuntu-latest - environment: dev + environment: ${{inputs.domain}} steps: - name: Copy frontend - run: echo "coping frontend" + run: echo "coping frontend to ${{inputs.domain}}" - name: Deploy frontend - run: echo "deploying frontend" + run: echo "deploying frontend to ${{inputs.domain}}" deploy-backend: name: Deploy backend runs-on: ubuntu-latest - environment: dev + environment: ${{inputs.domain}} steps: - name: Copy backend - run: echo "coping backend" + run: echo "coping backend to ${{inputs.domain}}" - name: Deploy backend - run: echo "deploying backend" + run: echo "deploying backend to ${{inputs.domain}}" deploy-database: name: Deploy database runs-on: ubuntu-latest - environment: dev + environment: ${{inputs.domain}} steps: - name: Copy database - run: echo "coping database" + run: echo "coping database to ${{inputs.domain}}" - name: Deploy database - run: echo "deploying database" + run: echo "deploying database to ${{inputs.domain}}" diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 025cd3bb34..6c72196887 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -38,7 +38,29 @@ jobs: run: echo "storing frontend image" deploy-dev: - uses: .github/workflows/demo-db-deploy.yml + environment: dev + uses: ./.github/workflows/demo-db-deploy.yml with: domain: dev needs: [build-api, build-frontend] + + deploy-test: + uses: ./.github/workflows/demo-db-deploy.yml + environment: test + with: + domain: test + needs: [deploy-dev] + + deploy-uat: + uses: ./.github/workflows/demo-db-deploy.yml + environment: uat + with: + domain: uat + needs: [deploy-test] + + deploy-prod: + uses: ./.github/workflows/demo-db-deploy.yml + environment: prod + with: + domain: prod + needs: [deploy-uat] From 2419328b7506ec108dd34df80f3d752cdefb23a4 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 14:02:08 -0700 Subject: [PATCH 15/17] Update demo-deployment.yml --- .github/workflows/demo-deployment.yml | 42 +++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 6c72196887..48fd288551 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -37,30 +37,62 @@ jobs: - name: TEST Secrety run: echo "storing frontend image" - deploy-dev: + deploy-dev-gate: + name: Dev approval + runs-on: ubuntu-latest environment: dev + steps: + - name: store image + run: echo "Approval for deployment to DEV" + needs: [build-api, build-frontend] + + deploy-dev: uses: ./.github/workflows/demo-db-deploy.yml with: domain: dev - needs: [build-api, build-frontend] + needs: [deploy-dev-gate] + + deploy-test-gate: + name: Test approval + runs-on: ubuntu-latest + environment: test + steps: + - name: approval + run: echo "Approval for deployment to TEST" + needs: [deploy-dev] deploy-test: uses: ./.github/workflows/demo-db-deploy.yml - environment: test with: domain: test needs: [deploy-dev] + deploy-uat-gate: + name: UAT approval + runs-on: ubuntu-latest + environment: uat + steps: + - name: approval + run: echo "Approval for deployment to UAT" + needs: [deploy-test] + deploy-uat: uses: ./.github/workflows/demo-db-deploy.yml - environment: uat with: domain: uat needs: [deploy-test] + deploy-prod-gate: + name: Production approval + runs-on: ubuntu-latest + environment: prod + steps: + - name: approval + run: echo "Approval for deployment to PRODUCTION" + needs: [deploy-uat] + deploy-prod: uses: ./.github/workflows/demo-db-deploy.yml - environment: prod with: domain: prod needs: [deploy-uat] From 565f4254cc4f58494c912cc4256e6cd1e13475c0 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 14:06:20 -0700 Subject: [PATCH 16/17] testing deploy --- .github/workflows/demo-deployment.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 48fd288551..11cdc73b1f 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -65,7 +65,7 @@ jobs: uses: ./.github/workflows/demo-db-deploy.yml with: domain: test - needs: [deploy-dev] + needs: [deploy-test-gate] deploy-uat-gate: name: UAT approval @@ -80,7 +80,7 @@ jobs: uses: ./.github/workflows/demo-db-deploy.yml with: domain: uat - needs: [deploy-test] + needs: [deploy-uat-gate] deploy-prod-gate: name: Production approval @@ -95,4 +95,4 @@ jobs: uses: ./.github/workflows/demo-db-deploy.yml with: domain: prod - needs: [deploy-uat] + needs: [deploy-prod-gate] From 02e1c6119370f9118042eb0d2c012a97a72188b2 Mon Sep 17 00:00:00 2001 From: Manuel Rodriguez Date: Wed, 28 Aug 2024 14:19:33 -0700 Subject: [PATCH 17/17] testing deploy --- .github/workflows/demo-db-deploy.yml | 16 +++------------- .github/workflows/demo-deployment.yml | 4 ++++ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/.github/workflows/demo-db-deploy.yml b/.github/workflows/demo-db-deploy.yml index 4e3ef71934..b88e4a2da4 100644 --- a/.github/workflows/demo-db-deploy.yml +++ b/.github/workflows/demo-db-deploy.yml @@ -14,18 +14,8 @@ permissions: contents: read jobs: - seserser: - name: Build Backend app - runs-on: ubuntu-latest - - steps: - - name: build pims-api - run: echo "Builing app" - - name: store image - run: echo "storing app image" - deploy-frontend: - name: Deploy frontend + name: Frontend runs-on: ubuntu-latest environment: ${{inputs.domain}} @@ -36,7 +26,7 @@ jobs: run: echo "deploying frontend to ${{inputs.domain}}" deploy-backend: - name: Deploy backend + name: Backend runs-on: ubuntu-latest environment: ${{inputs.domain}} @@ -47,7 +37,7 @@ jobs: run: echo "deploying backend to ${{inputs.domain}}" deploy-database: - name: Deploy database + name: Database runs-on: ubuntu-latest environment: ${{inputs.domain}} diff --git a/.github/workflows/demo-deployment.yml b/.github/workflows/demo-deployment.yml index 11cdc73b1f..960e39d51b 100644 --- a/.github/workflows/demo-deployment.yml +++ b/.github/workflows/demo-deployment.yml @@ -47,6 +47,7 @@ jobs: needs: [build-api, build-frontend] deploy-dev: + name: Dev deploy uses: ./.github/workflows/demo-db-deploy.yml with: domain: dev @@ -62,6 +63,7 @@ jobs: needs: [deploy-dev] deploy-test: + name: Test deploy uses: ./.github/workflows/demo-db-deploy.yml with: domain: test @@ -77,6 +79,7 @@ jobs: needs: [deploy-test] deploy-uat: + name: UAT deploy uses: ./.github/workflows/demo-db-deploy.yml with: domain: uat @@ -92,6 +95,7 @@ jobs: needs: [deploy-uat] deploy-prod: + name: Production deploy uses: ./.github/workflows/demo-db-deploy.yml with: domain: prod