1+ #  Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2+ #  More GitHub Actions for Azure: https://github.com/Azure/actions
3+ #  More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4+ 
5+ name : Build and deploy Python app to Azure Web App - MedScribeAI 
6+ 
7+ on :
8+   push :
9+     branches :
10+       - main 
11+   workflow_dispatch :
12+ 
13+ jobs :
14+   build :
15+     runs-on : ubuntu-latest 
16+     permissions :
17+       contents : read  # This is required for actions/checkout
18+ 
19+     steps :
20+       - uses : actions/checkout@v4 
21+ 
22+       - name : Set up Python version 
23+         uses : actions/setup-python@v5 
24+         with :
25+           python-version : ' 3.12' 
26+ 
27+       - name : Create and start virtual environment 
28+         run : | 
29+           python -m venv venv 
30+           source venv/bin/activate 
31+ 
32+       - name : Install dependencies 
33+         run : pip install -r requirements.txt 
34+         
35+       #  Optional: Add step to run tests here (PyTest, Django test suites, etc.)
36+ 
37+       - name : Zip artifact for deployment 
38+         run : zip release.zip ./* -r 
39+ 
40+       - name : Upload artifact for deployment jobs 
41+         uses : actions/upload-artifact@v4 
42+         with :
43+           name : python-app 
44+           path : | 
45+             release.zip 
46+             !venv/ 
47+ 
48+ deploy :
49+     runs-on : ubuntu-latest 
50+     needs : build 
51+     environment :
52+       name : ' Production' 
53+       url : ${{ steps.deploy-to-webapp.outputs.webapp-url }} 
54+     
55+     steps :
56+       - name : Download artifact from build job 
57+         uses : actions/download-artifact@v4 
58+         with :
59+           name : python-app 
60+ 
61+       - name : Unzip artifact for deployment 
62+         run : unzip release.zip 
63+ 
64+       
65+       - name : ' Deploy to Azure Web App' 
66+         uses : azure/webapps-deploy@v3 
67+         id : deploy-to-webapp 
68+         with :
69+           app-name : ' MedScribeAI' 
70+           slot-name : ' Production' 
71+           publish-profile : ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_C019728AFB6441DAA6FF45DD99B677A8 }} 
0 commit comments