From e3b59a830e4c1f8f2d7314c5f9e4010e4dd3d15f Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 15:46:18 -0800 Subject: [PATCH 01/18] jan-2025 backend build --- .github/workflows/jan-2025-dev-release.yaml | 56 +++++++++++++ backend/Dockerfile-Openshift | 30 +++++++ .../templates/backend/backend-bc-docker.yaml | 78 +++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 .github/workflows/jan-2025-dev-release.yaml create mode 100644 backend/Dockerfile-Openshift create mode 100644 openshift-v4/templates/backend/backend-bc-docker.yaml diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml new file mode 100644 index 000000000..6650b3604 --- /dev/null +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -0,0 +1,56 @@ +name: PR Build for Jan-2025 on Dev + +on: + push: + branches: [new-pipeline-jan-2025] + paths: + - frontend/** + - backend/** + workflow_dispatch: + +env: + GIT_URL: https://github.com/bcgov/tfrs.git + TOOLS_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-tools + DEV_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-dev + GIT_REF: ${{ github.event.pull_request.head.ref }} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-backend: + name: Build tfrs Backend + runs-on: ubuntu-latest + timeout-minutes: 60 + + env: + BUILD_SUFFIX: "jan-2025" + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ github.event.pull_request.head.ref }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build tfrs Backend + run: | + cd openshift-v4/templates/backend + oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} diff --git a/backend/Dockerfile-Openshift b/backend/Dockerfile-Openshift new file mode 100644 index 000000000..80c53a0e6 --- /dev/null +++ b/backend/Dockerfile-Openshift @@ -0,0 +1,30 @@ +# Use an official Python runtime as a parent image +FROM artifacts.developer.gov.bc.ca/docker-remote/python:3.9.20-bullseye + +# Set environment variables +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 + +# Set the working directory in the container +WORKDIR /app + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + build-essential \ + libpq-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install Python dependencies +COPY . /app/ + +RUN pwd && \ + ls -l + +RUN pip install --upgrade pip && \ + pip install --no-cache-dir -r requirements.txt + +# Expose the port the app runs on +EXPOSE 8080 + +# Start the Django server +CMD ["gunicorn", "wsgi", "--config", "gunicorn.cfg.py"] diff --git a/openshift-v4/templates/backend/backend-bc-docker.yaml b/openshift-v4/templates/backend/backend-bc-docker.yaml new file mode 100644 index 000000000..b8ee79de3 --- /dev/null +++ b/openshift-v4/templates/backend/backend-bc-docker.yaml @@ -0,0 +1,78 @@ +--- +kind: Template +apiVersion: template.openshift.io/v1 +metadata: + name: tfrs-bc-docker + creationTimestamp: +parameters: + - name: NAME + displayName: + description: the module name entered when run yo bcdk:pipeline, which is tfrs + required: true + - name: SUFFIX + displayName: + description: sample is -pr-0 + required: true + - name: VERSION + displayName: + description: image tag name for output + required: true + - name: GIT_URL + displayName: + description: tfrs repo + required: true + - name: GIT_REF + displayName: + description: tfrs branch name of the pr + required: true +objects: + - apiVersion: image.openshift.io/v1 + kind: ImageStream + metadata: + annotations: + description: Keeps track of changes in the backend image + labels: + shared: "true" + creationTimestamp: null + name: ${NAME}-backend + spec: + lookupPolicy: + local: false + status: + dockerImageRepository: "" + - kind: BuildConfig + apiVersion: build.openshift.io/v1 + metadata: + name: ${NAME}-backend${SUFFIX} + creationTimestamp: + annotations: + description: Defines how to build the application + spec: + runPolicy: SerialLatestOnly + source: + type: Git + git: + uri: ${GIT_URL} + ref: ${GIT_REF} + contextDir: backend + strategy: + dockerStrategy: + dockerfilePath: ./Dockerfile-Openshift + pullSecret: + name: artifacts-default-mogbga + type: Docker + output: + to: + kind: ImageStreamTag + name: ${NAME}-backend:${VERSION} + resources: + limits: + cpu: 2000m + memory: 2Gi + requests: + cpu: 1000m + memory: 1Gi + postCommit: {} + nodeSelector: + status: + lastVersion: 0 From bce4c0e4c49b9aae885aa9ae87b6a6825140c1ff Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 15:48:23 -0800 Subject: [PATCH 02/18] jan-2025 backend build --- .github/workflows/jan-2025-dev-release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index 6650b3604..ead58ba52 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -12,7 +12,7 @@ env: GIT_URL: https://github.com/bcgov/tfrs.git TOOLS_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-tools DEV_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-dev - GIT_REF: ${{ github.event.pull_request.head.ref }} + GIT_REF: "new-pipeline-jan-2025" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -31,7 +31,7 @@ jobs: - name: Check out repository uses: actions/checkout@v4.1.1 with: - ref: ${{ github.event.pull_request.head.ref }} + ref: new-pipeline-jan-2025 - name: Log in to Openshift uses: redhat-actions/oc-login@v1.3 From 757087d40b8a322c46260ad55551c2475452f67e Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 15:49:25 -0800 Subject: [PATCH 03/18] jan-2025 backend build --- .github/workflows/jan-2025-dev-release.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index ead58ba52..732c42856 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -1,11 +1,11 @@ -name: PR Build for Jan-2025 on Dev +name: TFRS Jan-2025 build on Dev on: push: branches: [new-pipeline-jan-2025] - paths: - - frontend/** - - backend/** + # paths: + # - frontend/** + # - backend/** workflow_dispatch: env: From dd83d020c2b1aa4fe8e8be8bbe3689ca7253c58e Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 15:53:35 -0800 Subject: [PATCH 04/18] jan-2025 backend build --- backend/Dockerfile-Openshift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/Dockerfile-Openshift b/backend/Dockerfile-Openshift index 80c53a0e6..b2d259e9f 100644 --- a/backend/Dockerfile-Openshift +++ b/backend/Dockerfile-Openshift @@ -20,7 +20,7 @@ COPY . /app/ RUN pwd && \ ls -l -RUN pip install --upgrade pip && \ +RUN pip install --upgrade pip==24.0 && \ pip install --no-cache-dir -r requirements.txt # Expose the port the app runs on From 25f955ed70a274a7d8cfae766f4978479a371695 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:08:11 -0800 Subject: [PATCH 05/18] build jan-2025 frontend --- .github/workflows/jan-2025-dev-release.yaml | 52 +++++++++++++++++---- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index 732c42856..4831ddc60 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -19,8 +19,44 @@ concurrency: cancel-in-progress: true jobs: - build-backend: - name: Build tfrs Backend + # build-backend: + # name: Build tfrs Backend + # runs-on: ubuntu-latest + # timeout-minutes: 60 + + # env: + # BUILD_SUFFIX: "jan-2025" + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: new-pipeline-jan-2025 + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build tfrs Backend + # run: | + # cd openshift-v4/templates/backend + # oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true + # sleep 2s + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} + + build-frontend: + name: Build TFRS Frontend runs-on: ubuntu-latest timeout-minutes: 60 @@ -41,16 +77,16 @@ jobs: insecure_skip_tls_verify: true namespace: ${{ env.TOOLS_NAMESPACE }} - - name: Build tfrs Backend + - name: Build TFRS Frontend run: | - cd openshift-v4/templates/backend - oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + cd openshift-v4/templates/frontend + oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do echo "canceling $build" oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build done sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} From ccd776d753a3c5991479b2150979509cd3acb80d Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:14:56 -0800 Subject: [PATCH 06/18] build jan-2025 celery --- .github/workflows/jan-2025-dev-release.yaml | 56 +++++++++++++++------ 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index 4831ddc60..65b3ac36f 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -13,6 +13,7 @@ env: TOOLS_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-tools DEV_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-dev GIT_REF: "new-pipeline-jan-2025" + BUILD_SUFFIX: "jan-2025" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -24,9 +25,6 @@ jobs: # runs-on: ubuntu-latest # timeout-minutes: 60 - # env: - # BUILD_SUFFIX: "jan-2025" - # steps: # - name: Check out repository # uses: actions/checkout@v4.1.1 @@ -55,14 +53,44 @@ jobs: # sleep 2s # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} - build-frontend: - name: Build TFRS Frontend + # build-frontend: + # name: Build TFRS Frontend + # runs-on: ubuntu-latest + # timeout-minutes: 60 + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: new-pipeline-jan-2025 + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS Frontend + # run: | + # cd openshift-v4/templates/frontend + # oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true + # sleep 2s + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} + + build-celery: + name: Build TFRS Celery runs-on: ubuntu-latest timeout-minutes: 60 - env: - BUILD_SUFFIX: "jan-2025" - steps: - name: Check out repository uses: actions/checkout@v4.1.1 @@ -77,16 +105,16 @@ jobs: insecure_skip_tls_verify: true namespace: ${{ env.TOOLS_NAMESPACE }} - - name: Build TFRS Frontend + - name: Build TFRS Celery run: | - cd openshift-v4/templates/frontend - oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + cd openshift-v4/templates/celery + oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do echo "canceling $build" oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build done sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} From c1ed93d135e452d6527c8bd505c44f36dcfae956 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:21:11 -0800 Subject: [PATCH 07/18] build jan-2025 celery --- openshift-v4/templates/celery/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openshift-v4/templates/celery/Dockerfile b/openshift-v4/templates/celery/Dockerfile index b303b6d63..db531ace0 100644 --- a/openshift-v4/templates/celery/Dockerfile +++ b/openshift-v4/templates/celery/Dockerfile @@ -5,7 +5,7 @@ RUN apt-get update \ WORKDIR /app/tfrs COPY . . COPY ./security-scan/scan-handler/celery.conf /etc/supervisor/conf.d -RUN pip install --upgrade pip \ +RUN pip install --upgrade pip==24.0 \ && pip install -r backend/requirements.txt \ && chgrp -R root /var/log/supervisor \ && chmod -R g+w /var/log/supervisor \ From deb5a8b29e921a67cb2a4c90b9b680253cc245c0 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:24:22 -0800 Subject: [PATCH 08/18] build jan-2025 celery --- .github/workflows/jan-2025-dev-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index 65b3ac36f..edc9230e1 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -95,7 +95,7 @@ jobs: - name: Check out repository uses: actions/checkout@v4.1.1 with: - ref: new-pipeline-jan-2025 + ref: ${{ env.GIT_REF }} - name: Log in to Openshift uses: redhat-actions/oc-login@v1.3 From 439d9d7a0cc6b71701b0197b9f265923b3b692f8 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:29:43 -0800 Subject: [PATCH 09/18] build jan-2025 scan-coordinator --- .github/workflows/jan-2025-dev-release.yaml | 37 +++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index edc9230e1..06b714ef5 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -29,7 +29,7 @@ jobs: # - name: Check out repository # uses: actions/checkout@v4.1.1 # with: - # ref: new-pipeline-jan-2025 + # ref: ${{ env.GIT_REF }} # - name: Log in to Openshift # uses: redhat-actions/oc-login@v1.3 @@ -62,7 +62,7 @@ jobs: # - name: Check out repository # uses: actions/checkout@v4.1.1 # with: - # ref: new-pipeline-jan-2025 + # ref: ${{ env.GIT_REF }} # - name: Log in to Openshift # uses: redhat-actions/oc-login@v1.3 @@ -118,3 +118,36 @@ jobs: oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true sleep 2s oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} + + build-scan-coordinator: + name: Build TFRS Celery + runs-on: ubuntu-latest + timeout-minutes: 60 + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build TFRS scan-coordinator + run: | + cd openshift-v4/templates/scan-coordinator + oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} From 94d0379cbd4f5c4429bd98d8ade4d4673e2cb49f Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:30:43 -0800 Subject: [PATCH 10/18] build jan-2025 scan-coordinator --- .github/workflows/jan-2025-dev-release.yaml | 60 ++++++++++----------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index 06b714ef5..a989bc665 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -86,41 +86,41 @@ jobs: # sleep 2s # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} - build-celery: - name: Build TFRS Celery - runs-on: ubuntu-latest - timeout-minutes: 60 + # build-celery: + # name: Build TFRS Celery + # runs-on: ubuntu-latest + # timeout-minutes: 60 - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} - - name: Build TFRS Celery - run: | - cd openshift-v4/templates/celery - oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} + # - name: Build TFRS Celery + # run: | + # cd openshift-v4/templates/celery + # oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true + # sleep 2s + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} build-scan-coordinator: - name: Build TFRS Celery + name: Build TFRS scan-coordinator runs-on: ubuntu-latest timeout-minutes: 60 From 17779b9156af6e31286b9914e82715a4e30a89a8 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Fri, 8 Nov 2024 16:34:15 -0800 Subject: [PATCH 11/18] build jan-2025 scan-handler --- .github/workflows/jan-2025-dev-release.yaml | 49 ++++++++++++++++--- .../templates/scan-handler/Dockerfile | 2 +- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index a989bc665..b4522070f 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -119,8 +119,41 @@ jobs: # sleep 2s # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} - build-scan-coordinator: - name: Build TFRS scan-coordinator + # build-scan-coordinator: + # name: Build TFRS scan-coordinator + # runs-on: ubuntu-latest + # timeout-minutes: 60 + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS scan-coordinator + # run: | + # cd openshift-v4/templates/scan-coordinator + # oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true + # sleep 2s + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} + + build-scan-handler: + name: Build TFRS scan-handler runs-on: ubuntu-latest timeout-minutes: 60 @@ -138,16 +171,16 @@ jobs: insecure_skip_tls_verify: true namespace: ${{ env.TOOLS_NAMESPACE }} - - name: Build TFRS scan-coordinator + - name: Build TFRS scan-handler run: | - cd openshift-v4/templates/scan-coordinator - oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + cd openshift-v4/templates/scan-handler + oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do echo "canceling $build" oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build done sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} diff --git a/openshift-v4/templates/scan-handler/Dockerfile b/openshift-v4/templates/scan-handler/Dockerfile index c57fb5c7b..f818ab0c7 100644 --- a/openshift-v4/templates/scan-handler/Dockerfile +++ b/openshift-v4/templates/scan-handler/Dockerfile @@ -5,7 +5,7 @@ RUN apt-get update \ WORKDIR /app/tfrs COPY . . COPY security-scan/scan-handler/scan-handler.conf /etc/supervisor/conf.d -RUN pip install --upgrade pip \ +RUN pip install --upgrade pip==24.0 \ && pip install -r backend/requirements.txt \ && chgrp -R root /var/log/supervisor \ && chmod -R g+w /var/log/supervisor \ From 5d6137730a2044cb6823724b79271f5af054deb1 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Tue, 12 Nov 2024 11:07:33 -0800 Subject: [PATCH 12/18] build notification Server --- .github/workflows/jan-2025-dev-release.yaml | 49 +++++++++++++++++---- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index b4522070f..c0e0f0414 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -152,8 +152,41 @@ jobs: # sleep 2s # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} - build-scan-handler: - name: Build TFRS scan-handler + # build-scan-handler: + # name: Build TFRS scan-handler + # runs-on: ubuntu-latest + # timeout-minutes: 60 + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS scan-handler + # run: | + # cd openshift-v4/templates/scan-handler + # oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true + # sleep 2s + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} + + build-notification-server: + name: Build TFRS Notification Server runs-on: ubuntu-latest timeout-minutes: 60 @@ -171,16 +204,16 @@ jobs: insecure_skip_tls_verify: true namespace: ${{ env.TOOLS_NAMESPACE }} - - name: Build TFRS scan-handler + - name: Build TFRS Notification Server run: | - cd openshift-v4/templates/scan-handler - oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + cd openshift-v4/templates/notification + oc process -f ./notification-server-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-notification-server-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do echo "canceling $build" oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build done sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-notification-server-${{ env.BUILD_SUFFIX }} --wait=true sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} From fef2c76bbe18f7b4c7f71b57feb0444dd483c718 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Tue, 12 Nov 2024 13:44:10 -0800 Subject: [PATCH 13/18] update jan pipeline --- .github/workflows/jan-2025-dev-release.yaml | 430 ++++++++++++-------- 1 file changed, 264 insertions(+), 166 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index c0e0f0414..16b02083c 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -1,4 +1,4 @@ -name: TFRS Jan-2025 build on Dev +name: TFRS Jan-2025 Dev Release on: push: @@ -13,182 +13,229 @@ env: TOOLS_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-tools DEV_NAMESPACE: ${{ secrets.OPENSHIFT_NAMESPACE_PLATE }}-dev GIT_REF: "new-pipeline-jan-2025" - BUILD_SUFFIX: "jan-2025" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - # build-backend: - # name: Build tfrs Backend - # runs-on: ubuntu-latest - # timeout-minutes: 60 - - # steps: - # - name: Check out repository - # uses: actions/checkout@v4.1.1 - # with: - # ref: ${{ env.GIT_REF }} - - # - name: Log in to Openshift - # uses: redhat-actions/oc-login@v1.3 - # with: - # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - # insecure_skip_tls_verify: true - # namespace: ${{ env.TOOLS_NAMESPACE }} - - # - name: Build tfrs Backend - # run: | - # cd openshift-v4/templates/backend - # oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - # sleep 2s - # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - # echo "canceling $build" - # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - # done - # sleep 2s - # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true - # sleep 2s - # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} - - # build-frontend: - # name: Build TFRS Frontend - # runs-on: ubuntu-latest - # timeout-minutes: 60 - - # steps: - # - name: Check out repository - # uses: actions/checkout@v4.1.1 - # with: - # ref: ${{ env.GIT_REF }} - - # - name: Log in to Openshift - # uses: redhat-actions/oc-login@v1.3 - # with: - # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - # insecure_skip_tls_verify: true - # namespace: ${{ env.TOOLS_NAMESPACE }} - - # - name: Build TFRS Frontend - # run: | - # cd openshift-v4/templates/frontend - # oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - # sleep 2s - # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - # echo "canceling $build" - # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - # done - # sleep 2s - # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true - # sleep 2s - # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} - - # build-celery: - # name: Build TFRS Celery - # runs-on: ubuntu-latest - # timeout-minutes: 60 - - # steps: - # - name: Check out repository - # uses: actions/checkout@v4.1.1 - # with: - # ref: ${{ env.GIT_REF }} - - # - name: Log in to Openshift - # uses: redhat-actions/oc-login@v1.3 - # with: - # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - # insecure_skip_tls_verify: true - # namespace: ${{ env.TOOLS_NAMESPACE }} - - # - name: Build TFRS Celery - # run: | - # cd openshift-v4/templates/celery - # oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - # sleep 2s - # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - # echo "canceling $build" - # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - # done - # sleep 2s - # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true - # sleep 2s - # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} - - # build-scan-coordinator: - # name: Build TFRS scan-coordinator - # runs-on: ubuntu-latest - # timeout-minutes: 60 - - # steps: - # - name: Check out repository - # uses: actions/checkout@v4.1.1 - # with: - # ref: ${{ env.GIT_REF }} - - # - name: Log in to Openshift - # uses: redhat-actions/oc-login@v1.3 - # with: - # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - # insecure_skip_tls_verify: true - # namespace: ${{ env.TOOLS_NAMESPACE }} - - # - name: Build TFRS scan-coordinator - # run: | - # cd openshift-v4/templates/scan-coordinator - # oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - # sleep 2s - # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - # echo "canceling $build" - # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - # done - # sleep 2s - # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true - # sleep 2s - # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} - - # build-scan-handler: - # name: Build TFRS scan-handler - # runs-on: ubuntu-latest - # timeout-minutes: 60 - - # steps: - # - name: Check out repository - # uses: actions/checkout@v4.1.1 - # with: - # ref: ${{ env.GIT_REF }} - - # - name: Log in to Openshift - # uses: redhat-actions/oc-login@v1.3 - # with: - # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - # insecure_skip_tls_verify: true - # namespace: ${{ env.TOOLS_NAMESPACE }} - - # - name: Build TFRS scan-handler - # run: | - # cd openshift-v4/templates/scan-handler - # oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - # sleep 2s - # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - # echo "canceling $build" - # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - # done - # sleep 2s - # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true - # sleep 2s - # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} + set-pre-release: + name: Calculate pre-release number + runs-on: ubuntu-latest + + outputs: + PRE_RELEASE: ${{ steps.set-pre-release.outputs.PRE_RELEASE }} + + steps: + - id: set-pre-release + run: | + echo "PRE_RELEASE=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT + + get-version: + name: Get the version + runs-on: ubuntu-latest + + outputs: + VERSION: ${{ steps.get-version.outputs.VERSION }} + + steps: + - id: get-version + run: | + echo "VERSION=jan-2025" >> $GITHUB_OUTPUT + + build-backend: + name: Build tfrs Backend + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [set-pre-release,get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build tfrs Backend + run: | + cd openshift-v4/templates/backend + oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} + + build-frontend: + name: Build TFRS Frontend + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [set-pre-release,get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build TFRS Frontend + run: | + cd openshift-v4/templates/frontend + oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} + + build-celery: + name: Build TFRS Celery + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [set-pre-release,get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build TFRS Celery + run: | + cd openshift-v4/templates/celery + oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} + + build-scan-coordinator: + name: Build TFRS scan-coordinator + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [set-pre-release,get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build TFRS scan-coordinator + run: | + cd openshift-v4/templates/scan-coordinator + oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} + + build-scan-handler: + name: Build TFRS scan-handler + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [set-pre-release,get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build TFRS scan-handler + run: | + cd openshift-v4/templates/scan-handler + oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true + sleep 2s + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} build-notification-server: name: Build TFRS Notification Server runs-on: ubuntu-latest timeout-minutes: 60 + needs: [set-pre-release,get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} steps: - name: Check out repository @@ -217,3 +264,54 @@ jobs: oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-notification-server-${{ env.BUILD_SUFFIX }} --wait=true sleep 2s oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} + + deploy: + name: Deploy Release jan-2025 on Dev + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [set-pre-release, get-version, build-backend, build-frontend, build-celery, build-scan-handler, build-scan-coordinator, build-notification-server] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + VERSION: ${{ needs.get-version.outputs.VERSION }} + + steps: + # - name: Checkout Manifest repository + # uses: actions/checkout@v4.1.1 + # with: + # repository: bcgov-c/tenant-gitops-0ab226 + # ref: main + # ssh-key: ${{ secrets.MANIFEST_REPO_DEPLOY_KEY }} + + - name: Update tags + uses: mikefarah/yq@v4.40.5 + with: + cmd: | + yq -i '.image.tag = "${{ env.BUILD_SUFFIX }}"' tfrs/charts/backend/values-dev-jan-2025.yaml + + # - name: GitHub Commit & Push + # shell: bash {0} + # run: | + # git config --global user.email "actions@github.com" + # git config --global user.name "GitHub Actions" + # git add itvr/values-dev.yaml + # git commit -m "Update the image tag to ${{ env.BUILD_SUFFIX }} on Dev" + # git push + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Tag and deploy to Dev + run: | + helm -n ${{ env.DEV_NAMESPACE }} list + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} + + # - name: Helm Deployment + # run: | + # cd tfrs/charts/backend + # helm -n ${{ env.DEV_NAMESPACE }} -f ./values-dev-jan-2025.yaml upgrade --install tfrs-backend-dev-${{ ENV.VERSION }} . From 29febed69e46901399d4245d72123b8e1abfc10a Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Tue, 12 Nov 2024 13:54:45 -0800 Subject: [PATCH 14/18] build backend only --- .github/workflows/jan-2025-dev-release.yaml | 358 ++++++++++---------- 1 file changed, 176 insertions(+), 182 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index 16b02083c..a0be324e4 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -77,199 +77,188 @@ jobs: done sleep 2s oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} - build-frontend: - name: Build TFRS Frontend - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [set-pre-release,get-version] + # build-frontend: + # name: Build TFRS Frontend + # runs-on: ubuntu-latest + # timeout-minutes: 60 + # needs: [set-pre-release,get-version] - env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} - - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} - - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} - - - name: Build TFRS Frontend - run: | - cd openshift-v4/templates/frontend - oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} - - build-celery: - name: Build TFRS Celery - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [set-pre-release,get-version] + # env: + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS Frontend + # run: | + # cd openshift-v4/templates/frontend + # oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true + + # build-celery: + # name: Build TFRS Celery + # runs-on: ubuntu-latest + # timeout-minutes: 60 + # needs: [set-pre-release,get-version] - env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} - - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} - - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} - - - name: Build TFRS Celery - run: | - cd openshift-v4/templates/celery - oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} - - build-scan-coordinator: - name: Build TFRS scan-coordinator - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [set-pre-release,get-version] + # env: + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS Celery + # run: | + # cd openshift-v4/templates/celery + # oc process -f ./celery-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-celery-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-celery-${{ env.BUILD_SUFFIX }} --wait=true + + # build-scan-coordinator: + # name: Build TFRS scan-coordinator + # runs-on: ubuntu-latest + # timeout-minutes: 60 + # needs: [set-pre-release,get-version] - env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} - - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} - - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} - - - name: Build TFRS scan-coordinator - run: | - cd openshift-v4/templates/scan-coordinator - oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} - - build-scan-handler: - name: Build TFRS scan-handler - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [set-pre-release,get-version] + # env: + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS scan-coordinator + # run: | + # cd openshift-v4/templates/scan-coordinator + # oc process -f ./scan-coordinator-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-coordinator-${{ env.BUILD_SUFFIX }} --wait=true + + # build-scan-handler: + # name: Build TFRS scan-handler + # runs-on: ubuntu-latest + # timeout-minutes: 60 + # needs: [set-pre-release,get-version] - env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} - - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} - - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} - - - name: Build TFRS scan-handler - run: | - cd openshift-v4/templates/scan-handler - oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} - - build-notification-server: - name: Build TFRS Notification Server - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [set-pre-release,get-version] + # env: + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS scan-handler + # run: | + # cd openshift-v4/templates/scan-handler + # oc process -f ./scan-handler-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-scan-handler-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-scan-handler-${{ env.BUILD_SUFFIX }} --wait=true + + # build-notification-server: + # name: Build TFRS Notification Server + # runs-on: ubuntu-latest + # timeout-minutes: 60 + # needs: [set-pre-release,get-version] - env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} - - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} - - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} - - - name: Build TFRS Notification Server - run: | - cd openshift-v4/templates/notification - oc process -f ./notification-server-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-notification-server-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-notification-server-${{ env.BUILD_SUFFIX }} --wait=true - sleep 2s - oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} + # env: + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + + # steps: + # - name: Check out repository + # uses: actions/checkout@v4.1.1 + # with: + # ref: ${{ env.GIT_REF }} + + # - name: Log in to Openshift + # uses: redhat-actions/oc-login@v1.3 + # with: + # openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + # openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + # insecure_skip_tls_verify: true + # namespace: ${{ env.TOOLS_NAMESPACE }} + + # - name: Build TFRS Notification Server + # run: | + # cd openshift-v4/templates/notification + # oc process -f ./notification-server-bc.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # sleep 2s + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-notification-server-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # echo "canceling $build" + # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + # done + # sleep 2s + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-notification-server-${{ env.BUILD_SUFFIX }} --wait=true deploy: name: Deploy Release jan-2025 on Dev runs-on: ubuntu-latest timeout-minutes: 60 - needs: [set-pre-release, get-version, build-backend, build-frontend, build-celery, build-scan-handler, build-scan-coordinator, build-notification-server] + needs: [set-pre-release, get-version, build-backend] + # needs: [set-pre-release, get-version, build-backend, build-frontend, build-celery, build-scan-handler, build-scan-coordinator, build-notification-server] env: BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} @@ -310,6 +299,11 @@ jobs: run: | helm -n ${{ env.DEV_NAMESPACE }} list oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} + # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} # - name: Helm Deployment # run: | From bbddd5c1f67fca41291cbf3215dce0d1a3f688c1 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Tue, 12 Nov 2024 14:10:53 -0800 Subject: [PATCH 15/18] deploy opened --- .github/workflows/jan-2025-dev-release.yaml | 78 +++++++++------------ 1 file changed, 34 insertions(+), 44 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index a0be324e4..c7f221e80 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -19,17 +19,6 @@ concurrency: cancel-in-progress: true jobs: - set-pre-release: - name: Calculate pre-release number - runs-on: ubuntu-latest - - outputs: - PRE_RELEASE: ${{ steps.set-pre-release.outputs.PRE_RELEASE }} - - steps: - - id: set-pre-release - run: | - echo "PRE_RELEASE=$(date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT get-version: name: Get the version @@ -47,10 +36,10 @@ jobs: name: Build tfrs Backend runs-on: ubuntu-latest timeout-minutes: 60 - needs: [set-pre-release,get-version] + needs: [get-version] env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} steps: - name: Check out repository @@ -82,10 +71,10 @@ jobs: # name: Build TFRS Frontend # runs-on: ubuntu-latest # timeout-minutes: 60 - # needs: [set-pre-release,get-version] + # needs: [get-version] # env: - # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} # steps: # - name: Check out repository @@ -117,10 +106,10 @@ jobs: # name: Build TFRS Celery # runs-on: ubuntu-latest # timeout-minutes: 60 - # needs: [set-pre-release,get-version] + # needs: [get-version] # env: - # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} # steps: # - name: Check out repository @@ -152,10 +141,10 @@ jobs: # name: Build TFRS scan-coordinator # runs-on: ubuntu-latest # timeout-minutes: 60 - # needs: [set-pre-release,get-version] + # needs: [get-version] # env: - # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} # steps: # - name: Check out repository @@ -187,10 +176,10 @@ jobs: # name: Build TFRS scan-handler # runs-on: ubuntu-latest # timeout-minutes: 60 - # needs: [set-pre-release,get-version] + # needs: [get-version] # env: - # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} # steps: # - name: Check out repository @@ -222,10 +211,10 @@ jobs: # name: Build TFRS Notification Server # runs-on: ubuntu-latest # timeout-minutes: 60 - # needs: [set-pre-release,get-version] + # needs: [get-version] # env: - # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} # steps: # - name: Check out repository @@ -257,20 +246,20 @@ jobs: name: Deploy Release jan-2025 on Dev runs-on: ubuntu-latest timeout-minutes: 60 - needs: [set-pre-release, get-version, build-backend] - # needs: [set-pre-release, get-version, build-backend, build-frontend, build-celery, build-scan-handler, build-scan-coordinator, build-notification-server] + needs: [get-version, build-backend] + # needs: [get-version, build-backend, build-frontend, build-celery, build-scan-handler, build-scan-coordinator, build-notification-server] env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }}-${{ needs.set-pre-release.outputs.PRE_RELEASE }} + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} VERSION: ${{ needs.get-version.outputs.VERSION }} steps: - # - name: Checkout Manifest repository - # uses: actions/checkout@v4.1.1 - # with: - # repository: bcgov-c/tenant-gitops-0ab226 - # ref: main - # ssh-key: ${{ secrets.MANIFEST_REPO_DEPLOY_KEY }} + - name: Checkout Manifest repository + uses: actions/checkout@v4.1.1 + with: + repository: bcgov-c/tenant-gitops-0ab226 + ref: main + ssh-key: ${{ secrets.MANIFEST_REPO_DEPLOY_KEY }} - name: Update tags uses: mikefarah/yq@v4.40.5 @@ -278,14 +267,14 @@ jobs: cmd: | yq -i '.image.tag = "${{ env.BUILD_SUFFIX }}"' tfrs/charts/backend/values-dev-jan-2025.yaml - # - name: GitHub Commit & Push - # shell: bash {0} - # run: | - # git config --global user.email "actions@github.com" - # git config --global user.name "GitHub Actions" - # git add itvr/values-dev.yaml - # git commit -m "Update the image tag to ${{ env.BUILD_SUFFIX }} on Dev" - # git push + - name: GitHub Commit & Push + shell: bash {0} + run: | + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Actions" + git add itvr/values-dev.yaml + git commit -m "Update the image tag to ${{ env.BUILD_SUFFIX }} on Dev"cd + git push - name: Log in to Openshift uses: redhat-actions/oc-login@v1.3 @@ -305,7 +294,8 @@ jobs: # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} - # - name: Helm Deployment - # run: | - # cd tfrs/charts/backend - # helm -n ${{ env.DEV_NAMESPACE }} -f ./values-dev-jan-2025.yaml upgrade --install tfrs-backend-dev-${{ ENV.VERSION }} . + - name: Helm Deployment + run: | + cd tfrs/charts/backend + helm -n ${{ env.DEV_NAMESPACE }} -f ./values-dev-jan-2025.yaml upgrade --install tfrs-backend-dev-${{ ENV.VERSION }} . \ + --set podAnnotations.rolloutTriggered="A$(date +%s)E" From af5d56b41ce1495371ba78c8f21035b764337ae0 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Tue, 12 Nov 2024 14:12:46 -0800 Subject: [PATCH 16/18] test build cancel --- .github/workflows/jan-2025-dev-release.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index c7f221e80..bf09f4b00 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -294,8 +294,11 @@ jobs: # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} + - name: Helm Deployment run: | cd tfrs/charts/backend helm -n ${{ env.DEV_NAMESPACE }} -f ./values-dev-jan-2025.yaml upgrade --install tfrs-backend-dev-${{ ENV.VERSION }} . \ --set podAnnotations.rolloutTriggered="A$(date +%s)E" + + \ No newline at end of file From 94d236ce239def337e29a6e6132280cef601d0c5 Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Tue, 12 Nov 2024 14:13:26 -0800 Subject: [PATCH 17/18] test build cancel2 --- .github/workflows/jan-2025-dev-release.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index bf09f4b00..b597a0080 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -294,7 +294,6 @@ jobs: # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-notification-server:${{ env.BUILD_SUFFIX }} - - name: Helm Deployment run: | cd tfrs/charts/backend From 0c08387cec73601c3af516df5cfa1aec3a51426a Mon Sep 17 00:00:00 2001 From: Kuan Fan Date: Wed, 13 Nov 2024 11:15:08 -0800 Subject: [PATCH 18/18] update --- .github/workflows/jan-2025-dev-release.yaml | 95 +++++++++++---------- 1 file changed, 49 insertions(+), 46 deletions(-) diff --git a/.github/workflows/jan-2025-dev-release.yaml b/.github/workflows/jan-2025-dev-release.yaml index b597a0080..63e984d84 100644 --- a/.github/workflows/jan-2025-dev-release.yaml +++ b/.github/workflows/jan-2025-dev-release.yaml @@ -32,47 +32,12 @@ jobs: run: | echo "VERSION=jan-2025" >> $GITHUB_OUTPUT - build-backend: - name: Build tfrs Backend - runs-on: ubuntu-latest - timeout-minutes: 60 - needs: [get-version] - - env: - BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} - - steps: - - name: Check out repository - uses: actions/checkout@v4.1.1 - with: - ref: ${{ env.GIT_REF }} - - - name: Log in to Openshift - uses: redhat-actions/oc-login@v1.3 - with: - openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} - openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} - insecure_skip_tls_verify: true - namespace: ${{ env.TOOLS_NAMESPACE }} - - - name: Build tfrs Backend - run: | - cd openshift-v4/templates/backend - oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} - sleep 2s - for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do - echo "canceling $build" - oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build - done - sleep 2s - oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true - - # build-frontend: - # name: Build TFRS Frontend + # build-backend: + # name: Build tfrs Backend # runs-on: ubuntu-latest # timeout-minutes: 60 # needs: [get-version] - + # env: # BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} @@ -90,17 +55,52 @@ jobs: # insecure_skip_tls_verify: true # namespace: ${{ env.TOOLS_NAMESPACE }} - # - name: Build TFRS Frontend + # - name: Build tfrs Backend # run: | - # cd openshift-v4/templates/frontend - # oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + # cd openshift-v4/templates/backend + # oc process -f ./backend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} # sleep 2s - # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + # for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-backend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do # echo "canceling $build" # oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build # done # sleep 2s - # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true + # oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-backend-${{ env.BUILD_SUFFIX }} --wait=true + + build-frontend: + name: Build TFRS Frontend + runs-on: ubuntu-latest + timeout-minutes: 60 + needs: [get-version] + + env: + BUILD_SUFFIX: ${{ needs.get-version.outputs.VERSION }} + + steps: + - name: Check out repository + uses: actions/checkout@v4.1.1 + with: + ref: ${{ env.GIT_REF }} + + - name: Log in to Openshift + uses: redhat-actions/oc-login@v1.3 + with: + openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }} + openshift_token: ${{ secrets.OPENSHIFT_TOKEN }} + insecure_skip_tls_verify: true + namespace: ${{ env.TOOLS_NAMESPACE }} + + - name: Build TFRS Frontend + run: | + cd openshift-v4/templates/frontend + oc process -f ./frontend-bc-docker.yaml NAME=tfrs SUFFIX=-${{ env.BUILD_SUFFIX }} VERSION=${{ env.BUILD_SUFFIX }} GIT_URL=${{ env.GIT_URL }} GIT_REF=${{ env.GIT_REF }} | oc apply --wait=true -f - -n ${{ env.TOOLS_NAMESPACE }} + sleep 2s + for build in $(oc -n ${{ env.TOOLS_NAMESPACE }} get builds -l buildconfig=tfrs-frontend-${{ env.BUILD_SUFFIX }} -o jsonpath='{.items[?(@.status.phase=="Running")].metadata.name}'); do + echo "canceling $build" + oc -n ${{ env.TOOLS_NAMESPACE }} cancel-build $build + done + sleep 2s + oc -n ${{ env.TOOLS_NAMESPACE }} start-build tfrs-frontend-${{ env.BUILD_SUFFIX }} --wait=true # build-celery: # name: Build TFRS Celery @@ -246,7 +246,7 @@ jobs: name: Deploy Release jan-2025 on Dev runs-on: ubuntu-latest timeout-minutes: 60 - needs: [get-version, build-backend] + needs: [get-version, build-frontend] # needs: [get-version, build-backend, build-frontend, build-celery, build-scan-handler, build-scan-coordinator, build-notification-server] env: @@ -266,6 +266,7 @@ jobs: with: cmd: | yq -i '.image.tag = "${{ env.BUILD_SUFFIX }}"' tfrs/charts/backend/values-dev-jan-2025.yaml + yq -i '.image.tag = "${{ env.BUILD_SUFFIX }}"' tfrs/charts/frontend/values-dev-jan-2025.yaml - name: GitHub Commit & Push shell: bash {0} @@ -288,7 +289,7 @@ jobs: run: | helm -n ${{ env.DEV_NAMESPACE }} list oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-backend:${{ env.BUILD_SUFFIX }} - # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} + oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-frontend:${{ env.BUILD_SUFFIX }} # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-celery:${{ env.BUILD_SUFFIX }} # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-coordinator:${{ env.BUILD_SUFFIX }} # oc tag ${{ env.TOOLS_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} ${{ env.DEV_NAMESPACE }}/tfrs-scan-handler:${{ env.BUILD_SUFFIX }} @@ -299,5 +300,7 @@ jobs: cd tfrs/charts/backend helm -n ${{ env.DEV_NAMESPACE }} -f ./values-dev-jan-2025.yaml upgrade --install tfrs-backend-dev-${{ ENV.VERSION }} . \ --set podAnnotations.rolloutTriggered="A$(date +%s)E" - + cd tfrs/charts/frontend + helm -n ${{ env.DEV_NAMESPACE }} -f ./values-dev-jan-2025.yaml upgrade --install tfrs-frontend-dev-${{ ENV.VERSION }} . \ + --set podAnnotations.rolloutTriggered="A$(date +%s)E" \ No newline at end of file