Skip to content

Workflow file for this run

name: Build and deploy all of ReportVision's services to a development environment
on:
push:
branches: deploy-both-ocr-api-frontend
# workflow_dispatch:
# inputs:
# deploy-env:
# description: 'The environment to deploy to'
# required: true
# type: choice
# options:
# - dev
# - dev2
# - dev3
# - dev4
# - dev5
# - dev6
# ocr-version:
# description: 'Create a version for this OCR API image'
# required: true
permissions:
contents: read
packages: write
attestations: write
id-token: write
env:
NODE_VERSION: 20
jobs:
# build-publish-ocr:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Build and Push backend
# uses: ./.github/actions/build-publish-api
# with:
# docker-registry: ghcr.io
# docker-pw: ${{ secrets.GITHUB_TOKEN }}
# docker-username: ${{ github.actor }}
# docker-tag: ${{ inputs.ocr-version }}
# dockerfile-path: ./OCR/Dockerfile
# docker-context-path: ./OCR/
# api-name: ocr-api
build-frontend:
runs-on: ubuntu-latest
environment: dev2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-frontend
name: Build frontend
with:
api-endpoint: https://reportvision-ocr-dev2.azurewebsites.net/
frontend-tarball: ./frontend.tgz
deploy-env: dev2
frontend-path: ./frontend
frontend-build-path: ./frontend/dist/
environment-setup:
runs-on: ubuntu-latest
environment: dev2
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- uses: ./.github/actions/tf-setup
name: Setup this environment with Terraform
with:
deploy-env: dev2
azure-resource-group: reportvision-rg-dev2
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
app-name: reportvision
deploy-services:
runs-on: ubuntu-latest
environment: dev2
needs: [build-frontend, environment-setup]
steps:
- uses: actions/checkout@v4
with:
name: frontend-tarball
- uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Deploy frontend
uses: ./.github/actions/deploy-frontend
with:
frontend-tarball: frontend.tgz
deploy-env: dev2