Optimize Blazor WASM build and deployment workflow #542
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Static WebApp (Blazor WebAssembly) | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: [opened, synchronize, reopened, closed] | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| inputs: | |
| prod_release: | |
| description: 'Do you want to release to production?' | |
| required: true | |
| default: false | |
| type: boolean | |
| jobs: | |
| build_and_deploy_job: | |
| if: ${{ inputs.prod_release }} || (github.event_name == 'pull_request' && github.event.action != 'closed') | |
| runs-on: ubuntu-latest | |
| name: Build and Deploy Job | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Setup .NET SDK | |
| uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: '10.0.x' # using .NET 10 as you specified | |
| - name: Install WASM workload | |
| run: dotnet workload install wasm-tools --skip-manifest-update | |
| - name: Restore | |
| run: dotnet restore | |
| - name: Publish app (produce static assets) | |
| run: dotnet publish BlazorBootstrap.Demo.WebAssembly -c Release -o build | |
| - name: Show published files (debug) | |
| run: ls -la build || true && ls -la build/wwwroot || true | |
| - name: Build And Deploy (upload artifacts, skip Oryx) | |
| id: builddeploy | |
| uses: Azure/static-web-apps-deploy@v1 | |
| with: | |
| azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_GRAY_WAVE_0E4848710 }} | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) | |
| action: "upload" | |
| app_location: "BlazorBootstrap.Demo.WebAssembly" | |
| skip_app_build: true | |
| output_location: "build/wwwroot" | |
| close_pull_request_job: | |
| if: github.event_name == 'pull_request' && github.event.action == 'closed' | |
| runs-on: ubuntu-latest | |
| name: Close Pull Request Job | |
| steps: | |
| - name: Close Pull Request | |
| id: closepullrequest | |
| uses: Azure/static-web-apps-deploy@v1 | |
| with: | |
| azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_GRAY_WAVE_0E4848710 }} | |
| action: "close" |