name: Deploy LangGraph Server to Azure Web App on: push: branches: [main] paths: - "langgraph/**" - ".github/workflows/deploy-langgraph.yml" workflow_dispatch: permissions: id-token: write contents: read jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Login to Azure uses: azure/login@v2 with: client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_E361D63054AD449285A5D65AA4425533 }} tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_62D66D4E65AC4A6C872064AD668AC691 }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_5D7B0564A55F4209A91149F2642D3F69 }} - name: Build and push to ACR run: | az acr build \ --registry socsocacr \ --resource-group Operation \ --image soc-langgraph:${{ github.sha }} \ --image soc-langgraph:latest \ --file langgraph/Dockerfile \ langgraph/ - name: Deploy to Web App run: | az webapp config container set \ --resource-group Operation \ --name soc-langgraph \ --container-image-name socsocacr.azurecr.io/soc-langgraph:${{ github.sha }} \ --container-registry-url https://socsocacr.azurecr.io \ --container-registry-user socsocacr \ --container-registry-password $(az acr credential show --name socsocacr --resource-group Operation --query "passwords[0].value" -o tsv) az webapp restart \ --resource-group Operation \ --name soc-langgraph