Skip to content

Workflow file for this run

name: Build and deploy container app to Azure Web App - aadocr
on:
push:
branches:
- master
workflow_dispatch:
jobs:
build-and-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest tox
pip install -r requirements_dev.txt
- name: Test with tox
run: tox
build-and-deploy-container:
runs-on: 'ubuntu-latest'
needs: build-and-test
steps:
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to registry
uses: docker/login-action@v3
with:
registry: https://captchaocr.azurecr.io/
username: ${{ secrets.AzureAppService_ContainerUsername_d6bd5132974749f0a76fc6d17b3791c0 }}
password: ${{ secrets.AzureAppService_ContainerPassword_47961a82225c46788e28bf308f374629 }}
- name: Build and push container image to registry
uses: docker/build-push-action@v3
with:
push: true
tags: captchaocr.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_d6bd5132974749f0a76fc6d17b3791c0 }}/flask_frontend:${{ github.sha }}
file: ./Dockerfile
deploy:
runs-on: ubuntu-latest
needs: build-and-deploy-container
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v3
with:
app-name: 'aadocr'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_cbb30a72c9734778a7e48dfd3e97d717 }}
images: 'captchaocr.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_d6bd5132974749f0a76fc6d17b3791c0 }}/flask_frontend:${{ github.sha }}'