Skip to content

fix: update CI/CD workflow for clarity and deployment process #7

fix: update CI/CD workflow for clarity and deployment process

fix: update CI/CD workflow for clarity and deployment process #7

Workflow file for this run

# CI/CD workflow for barcode-data-portal-mwlr
#
# Build Strategy:
# - On push to main: builds and pushes images to Artifactory
# - Triggers k8s-apps-config pipeline to update manifests
# - ArgoCD syncs the updated manifests to the cluster
#
# This workflow triggers a Bitbucket pipeline to update the GitOps repository.
name: CI/CD
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
uses: manaakiwhenua/github-workflows/.github/workflows/docker-build.yml@main
with:
bake_file: docker-bake.hcl
bake_target: default
push: ${{ github.event_name != 'pull_request' }}
registry_host: ${{ vars.ARTIFACTORY_HOST }}
registry_username: ${{ vars.ARTIFACTORY_USERNAME }}
secrets:
ARTIFACTORY_TOKEN: ${{ secrets.ARTIFACTORY_TOKEN }}
deploy-dev:
needs: build
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
environment: k8s-dev
steps:
- name: Checkout for action
uses: actions/checkout@v4
with:
repository: manaakiwhenua/github-workflows
sparse-checkout: actions/k8s-deploy
path: .github-workflows
- name: Deploy to dev
uses: ./.github-workflows/actions/k8s-deploy
with:
app_name: barcode-data-portal-mwlr
environment: dev
cluster: tak-k8s-nonprod
build_key: ${{ needs.build.outputs.build_id }}
bitbucket_token: ${{ secrets.K8S_APPS_CONFIG_TRIGGER_TOKEN }}
- name: Deployment Summary
run: |
cat << SUMMARY >> $GITHUB_STEP_SUMMARY
## ✅ Deployment Triggered
| Property | Value |
|----------|-------|
| Build ID | \`${{ needs.build.outputs.build_id }}\` |
| Environment | dev |
| Cluster | tak-k8s-nonprod |
The k8s-apps-config pipeline has updated the manifests and ArgoCD will sync shortly.
### Prod Promotion
To promote to production:
1. Go to [k8s-apps-config](https://bitbucket.org/landcareresearch/k8s-apps-config)
2. Update the prod deployment manifests with build ID: \`${{ needs.build.outputs.build_id }}\`
3. Create a Pull Request for review
4. After merge, ArgoCD will sync to production
SUMMARY