Build AI Reviewer Admin Docker Image and Push to Openshift Image Registry #10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build AI Reviewer Admin Docker Image and Push to Openshift Image Registry | |
on: | |
schedule: | |
- cron: "0 0 * */3 *" | |
push: | |
branches: [main] | |
paths: | |
- "src/backend/**" | |
- ".github/workflows/dev-ai-reviewer-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: ai-reviewer,splunk | |
COMPOSE_DOCKER_CLI_BUILD: 1 | |
DOCKER_BUILDKIT: 1 | |
run: | | |
docker compose build ai-reviewer-api | |
docker tag jag-ai-reviewer-ai-reviewer-api artifacts.developer.gov.bc.ca/efc7-ai-reviewer-api/ai-reviewer-api:dev | |
- name: Docker Push to Artifactory | |
run: | | |
docker push artifacts.developer.gov.bc.ca/efc7-ai-reviewer-api/ai-reviewer-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/aiapitag: .*/aiapitag: dev # Image Updated on $DATETIME/" ../deploy/dev_values.yaml | |
sed -i "s/aiApiVersion: .*/aiApiVersion: ${{ 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 AI Reviewer API image tag" | |
git push origin develop # Update the branch name as needed |