name: Build and deploy ASP.Net Core app to Azure Web App - criminalmindsapi env: WORKING_DIRECTORY: ./server on: push: branches: - production workflow_dispatch: jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Set up .NET Core uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Build with dotnet run: dotnet build --configuration Release working-directory: ${{ env.WORKING_DIRECTORY }} - name: dotnet publish run: dotnet publish -c Release -o release working-directory: ${{ env.WORKING_DIRECTORY }} - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 with: name: server path: ./server/release deploy: runs-on: windows-latest needs: build environment: name: 'Production' url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} permissions: id-token: write steps: - name: Download artifact from build job uses: actions/download-artifact@v4.1.7 with: name: server - name: Login to Azure uses: azure/login@v1 with: client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_936FD4F727B94B4CA24C582D0863DF06 }} tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_0FB05F3F513C480395D15114ABAF36E0 }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_D1C0B88C12EF49D0BEEB5F2ACE6EC4FC }} - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@v2 with: app-name: 'criminalmindsapi' slot-name: 'Production' package: .