Skip to content

Build Efiling Admin Docker Image and Push to Openshift Image Registry #6

Build Efiling Admin Docker Image and Push to Openshift Image Registry

Build Efiling Admin Docker Image and Push to Openshift Image Registry #6

name: Build Efiling Admin Docker Image and Push to Openshift Image Registry
on:
schedule:
- cron: "0 0 * */3 *"
push:
branches: [master]
paths:
- "src/frontend/efiling-demo/**"
- ".github/workflows/dev-efiling-admin-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
run: |
docker compose build efiling-demo
docker tag jag-file-submission-efiling-demo artifacts.developer.gov.bc.ca/efc7-efiling-admin/efiling-admin:dev
- name: Docker Push to Artifactory
run: |
docker push artifacts.developer.gov.bc.ca/efc7-efiling-admin/efiling-admin: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/admintag: .*/admintag: dev # Image Updated on $DATETIME/" ../deploy/dev_values.yaml
sed -i "s/adminVersion: .*/adminVersion: ${{ 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 Admin image tag"
git push origin develop # Update the branch name as needed