From d9f287c7b46a3d3f7d1fd2f7961ff16e8db55cc7 Mon Sep 17 00:00:00 2001 From: Derek Roberts Date: Thu, 15 Aug 2024 02:09:10 -0400 Subject: [PATCH] chore(ci): build_number var in sync (#1502) --- .github/workflows/.deploy.yml | 23 +---------------------- .github/workflows/demo.yml | 2 +- .github/workflows/job-sync.yml | 2 +- .github/workflows/pr-open.yml | 4 ++-- sync/Dockerfile | 2 +- sync/oc_run.sh | 25 +++++++++++++++++++++++++ sync/openshift.deploy.yml | 4 ---- 7 files changed, 31 insertions(+), 31 deletions(-) create mode 100755 sync/oc_run.sh diff --git a/.github/workflows/.deploy.yml b/.github/workflows/.deploy.yml index 52a931e31..c47dcefee 100644 --- a/.github/workflows/.deploy.yml +++ b/.github/workflows/.deploy.yml @@ -189,25 +189,4 @@ jobs: - name: Run sync ETL if: github.event_name == 'pull_request' - run: | - # Run and verify job - - # Login - oc login --token=${{ secrets.oc_token }} --server=${{ vars.oc_server }} - oc project ${{ secrets.oc_namespace }} #Safeguard! - - # Exit on errors or unset variables - set -eu - - # Create job - CRONJOB=nr-spar-${{ inputs.target }}-sync - RUN_JOB=${CRONJOB}--$(date +"%Y-%m-%d--%H-%M-%S") - oc create job ${RUN_JOB} --from=cronjob/${CRONJOB} - - # Follow - oc wait --for=condition=ready pod --selector=job-name=${RUN_JOB} --timeout=1m - oc logs -l job-name=${RUN_JOB} --tail=50 --follow - - # Verify successful completion - oc wait --for jsonpath='{.status.phase}'=Succeeded pod --selector=job-name=${RUN_JOB} --timeout=1m - echo "Job successful!" + run: ./sync/oc_run.sh ${{ secrets.oc_token }} diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 57b91aca3..394bea6d4 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -30,7 +30,7 @@ jobs: # Login oc login --token=${{ secrets.oc_token }} --server=${{ vars.oc_server }} - oc project ${{ secrets.oc_namespace }} #Safeguard! + oc project ${{ vars.oc_namespace }} #Safeguard! # Delete and replace route oc delete route/${{ env.REPO }}-${{ env.DEST }} --ignore-not-found=true diff --git a/.github/workflows/job-sync.yml b/.github/workflows/job-sync.yml index 4f901000b..143c7185e 100644 --- a/.github/workflows/job-sync.yml +++ b/.github/workflows/job-sync.yml @@ -29,7 +29,7 @@ jobs: # Login oc login --token=${{ secrets.oc_token }} --server=${{ vars.oc_server }} - oc project ${{ secrets.oc_namespace }} #Safeguard! + oc project ${{ vars.oc_namespace }} #Safeguard! # Exit on errors or unset variables set -eu diff --git a/.github/workflows/pr-open.yml b/.github/workflows/pr-open.yml index e72b6ec6e..b1ebffad4 100644 --- a/.github/workflows/pr-open.yml +++ b/.github/workflows/pr-open.yml @@ -24,8 +24,8 @@ jobs: id: build with: build_args: | - "BUILDKIT_INLINE_CACHE=1" - --build-arg BUILD_NUMBER=${{ github.event.number }} + BUILD_NUMBER=${{ github.event.number }} + BUILDKIT_INLINE_CACHE=1 package: ${{ matrix.package }} tag: ${{ github.event.number }} tag_fallback: latest diff --git a/sync/Dockerfile b/sync/Dockerfile index 20fafe169..8bef73c89 100644 --- a/sync/Dockerfile +++ b/sync/Dockerfile @@ -1,7 +1,7 @@ FROM python:3.12-slim # Receive build number as argument, retain as environment variable -ARG BUILD_NUMBER=0 +ARG BUILD_NUMBER ENV BUILD_NUMBER=${BUILD_NUMBER} # Packages and nonroot user diff --git a/sync/oc_run.sh b/sync/oc_run.sh new file mode 100755 index 000000000..15bf92bcb --- /dev/null +++ b/sync/oc_run.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# Exit on errors or unset variables +set -eux + +# Run and verify job + +# Login +if [ ! -z "${1:-}" ]; then + oc login --token=${1} --server=https://api.silver.devops.gov.bc.ca:6443 + oc project #Safeguard! +fi + +# Create job +CRONJOB=nr-spar-1502-sync +RUN_JOB=${CRONJOB}--$(date +"%Y-%m-%d--%H-%M-%S") +oc create job ${RUN_JOB} --from=cronjob/${CRONJOB} + +# Follow +oc wait --for=condition=ready pod --selector=job-name=${RUN_JOB} --timeout=1m +oc logs -l job-name=${RUN_JOB} --tail=50 --follow + +# Verify successful completion +oc wait --for jsonpath='{.status.phase}'=Succeeded pod --selector=job-name=${RUN_JOB} --timeout=1m +echo "Job successful!" diff --git a/sync/openshift.deploy.yml b/sync/openshift.deploy.yml index 5f6277d3a..31a87713a 100644 --- a/sync/openshift.deploy.yml +++ b/sync/openshift.deploy.yml @@ -30,10 +30,6 @@ parameters: value: "false" ### Usually a bad idea - not recommended - - name: CRON_MINUTES - description: Random number, 0-60, for scheduling cronjobs - from: "[0-5]{1}[0-9]{1}" - generate: expression - name: JOB_BACKOFF_LIMIT description: "The number of attempts to try for a successful job outcome" value: "3"