Skip to content

Build Efiling API Image and Push to Openshift 4 Registry #373

Build Efiling API Image and Push to Openshift 4 Registry

Build Efiling API Image and Push to Openshift 4 Registry #373

name: Build Efiling API Image and Push to Openshift 4 Registry
on:
schedule:
- cron: "0 0 * */3 *"
push:
branches: [master]
paths:
- "src/backend/**"
- ".github/workflows/dev-efiling-api-build.yaml"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to Artifactory
uses: docker/login-action@v1
with:
registry: artifacts.developer.gov.bc.ca
username: ${{ secrets.EFILING_ARTIFACTORY_USERNAME }}
password: ${{ secrets.EFILING_ARTIFACTORY_PASSWORD }}
- name: Build Image
env:
MVN_PROFILE: efiling-api,splunk
run: |
docker compose build efiling-api
docker tag jag-file-submission-efiling-api artifacts.developer.gov.bc.ca/efc7-efiling-api/efiling-api:dev
- name: Docker Push to Artifactory
run: |
docker push artifacts.developer.gov.bc.ca/efc7-efiling-api/efiling-api:dev
# Get SHORT_SHA for the version
- name: Get short SHA
id: short_sha
run: |
echo "::set-output name=SHORT_SHA::$(git rev-parse --short HEAD)"
echo "Short SHA: $SHORT_SHA"
- name: Checkout ArgoCD Repo
id: gitops
uses: actions/checkout@v4
with:
repository: bcgov-c/tenant-gitops-fc726a
ref: develop
token: ${{ secrets.ARGO_PAT }} # `ARGO_PAT` is a secret that contains your PAT
path: gitops
- name: Update Helm Values and Commit
id: helm
if: steps.gitops.outcome == 'success' # Only run if the previous step (publish) was successful
run: |
# Clone the GitOps deployment configuration repository
# Navigate to the directory containing your Helm values file for the environment develop -> DEV, test -> test and
cd gitops/charts
# Update the Helm values file with the new image tag and version
DATETIME=$(date +'%Y-%m-%d %H:%M:%S') # Get current date and time
sed -i "s/apitag: .*/apitag: dev # Image Updated on $DATETIME/" ../deploy/dev_values.yaml
sed -i "s/apiVersion: .*/apiVersion: ${{ steps.short_sha.outputs.SHORT_SHA }} # Version Updated on $DATETIME/" ../deploy/dev_values.yaml
# Commit and push the changes
git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"
git add .
git add ../deploy/dev_values.yaml
# Repackage Helm Chart
cd efiling-gitops
helm dependency build
cd charts
git add .
git commit -m "Update Dev API image tag"
git push origin develop # Update the branch name as needed