Skip to content

run and verify db

run and verify db #35

name: Build and Push Images
on:
push:
branches:
- deploy-infra-terraformv3
paths-ignore:
- 'terraform/**'
- 'workflows/**'
permissions:
id-token: write
contents: read
jobs:
docker:
name: 'Docker Build and Push'
runs-on: ubuntu-latest
environment: dev-preview
env:
ARM_SUBSCRIPTION_ID: ${{ vars.ARM_SUBSCRIPTION_ID }}
ARM_CLIENT_ID: ${{ vars.ARM_CLIENT_ID }}
ARM_TENANT_ID: ${{ vars.ARM_TENANT_ID }}
ARM_USE_OIDC: "true"
defaults:
run:
shell: bash
working-directory: ./terraform
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: 'Az CLI login using OIDC'
uses: azure/login@v2
with:
client-id: ${{ vars.ARM_CLIENT_ID }}
tenant-id: ${{ vars.ARM_TENANT_ID }}
subscription-id: ${{ vars.ARM_SUBSCRIPTION_ID }}
- name: Log in to ACR
run: az acr login --name crimomsw
- name: Build and push Client Docker image
run: |
pwd && docker buildx build --push --tag crimomsw.azurecr.io/client:${{ github.sha }} ../IMOMaritimeSingleWindow/Client
- name: Build and push Server Docker image
run: |
pwd && docker buildx build --push --tag crimomsw.azurecr.io/server:${{ github.sha }} ../IMOMaritimeSingleWindow/Server
- name: Build and push Verifyer Docker image
run: |
pwd && docker buildx build --push --tag crimomsw.azurecr.io/db-verifier:latest ../IMOMaritimeSingleWindow/Server/SqlScripts
# - name: Run SQL Script and Check Errors
# run: |
# docker run --rm -e PGPASSWORD=szechuan crimomsw.azurecr.io/server:${{ github.sha }} psql -h imo-dev-psqlflexibleserver-1.postgres.database.azure.com -U postgres -d db-imo-msw-dev-1 -f /workspaces/backend/SqlScripts/Create_and_populate_DB.sql || exit 1
verify:
name: Verify Database
runs-on: ubuntu-latest
needs: docker
steps:
- name: Checkout
uses: actions/checkout@v4
- name: 'Az CLI login using OIDC'
uses: azure/login@v2
with:
client-id: ${{ secrets.ARM_CLIENT_ID }}
tenant-id: ${{ secrets.ARM_TENANT_ID }}
subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
- name: Run Terraform to Verify Database
run: |
terraform apply -auto-approve -var db_password=szechuan
- name: Retrieve Verification Logs
run: |
az container logs --resource-group rg-imo-msw-terraform-dev-preview --name db-verifier --container-name db-verifier