name: Deploy Web (Static Web App) on: push: branches: - main paths: - 'src/Web/autopilot-monitor-web/**' - '.github/workflows/deploy-web.yml' workflow_dispatch: pull_request: types: [opened, synchronize, reopened, closed] branches: - main paths: - 'src/Web/autopilot-monitor-web/**' - '.github/workflows/deploy-web.yml' jobs: build_and_deploy_job: if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.action != 'closed') runs-on: ubuntu-latest name: Build and Deploy Job # Dependabot PRs run without repo secrets, so the deploy token is absent. # Surface it as an env var so the deploy step can gate on it — secrets # cannot be referenced directly in an `if:` expression. env: DEPLOY_TOKEN: ${{ secrets.AZURE_SWA_DEPLOY_TOKEN }} steps: - uses: actions/checkout@v7 with: lfs: false fetch-depth: 0 # Full history needed for git-based sitemap lastmod dates - name: Build And Deploy id: builddeploy # Skip (green) instead of failing when the token is missing (Dependabot # PRs); real deploys on main and internal PRs still have it. if: env.DEPLOY_TOKEN != '' uses: Azure/static-web-apps-deploy@v1 env: NEXT_PUBLIC_ENTRA_CLIENT_ID: ${{ vars.NEXT_PUBLIC_ENTRA_CLIENT_ID }} NEXT_PUBLIC_ENTRA_REDIRECT_URI: ${{ vars.NEXT_PUBLIC_ENTRA_REDIRECT_URI }} NEXT_PUBLIC_ENTRA_POST_LOGOUT_REDIRECT_URI: ${{ vars.NEXT_PUBLIC_ENTRA_POST_LOGOUT_REDIRECT_URI }} NEXT_PUBLIC_API_BASE_URL: ${{ vars.NEXT_PUBLIC_API_BASE_URL }} NEXT_PUBLIC_PLATFORM_STATS_MANIFEST_URL: ${{ vars.NEXT_PUBLIC_PLATFORM_STATS_MANIFEST_URL }} NEXT_PUBLIC_APPINSIGHTS_CONNECTION_STRING: ${{ secrets.NEXT_PUBLIC_APPINSIGHTS_CONNECTION_STRING }} with: azure_static_web_apps_api_token: ${{ secrets.AZURE_SWA_DEPLOY_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) action: "upload" ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig app_location: "src/Web/autopilot-monitor-web" # App source code path api_location: "" # Api source code path - optional output_location: "" # Built app content directory - optional ###### End of Repository/Build Configurations ###### close_pull_request_job: if: github.event_name == 'pull_request' && github.event.action == 'closed' runs-on: ubuntu-latest name: Close Pull Request Job env: DEPLOY_TOKEN: ${{ secrets.AZURE_SWA_DEPLOY_TOKEN }} steps: - name: Close Pull Request id: closepullrequest if: env.DEPLOY_TOKEN != '' uses: Azure/static-web-apps-deploy@v1 with: azure_static_web_apps_api_token: ${{ secrets.AZURE_SWA_DEPLOY_TOKEN }} action: "close"