publish-demo.yml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. name: Deploy Blazor WASM to GitHub Pages
  2. on:
  3. push:
  4. branches: [ "main" ]
  5. workflow_dispatch:
  6. permissions:
  7. contents: read
  8. pages: write
  9. id-token: write
  10. concurrency:
  11. group: "pages"
  12. cancel-in-progress: true
  13. jobs:
  14. build:
  15. runs-on: ubuntu-latest
  16. steps:
  17. - name: Checkout
  18. uses: actions/checkout@v4
  19. - name: Setup .NET
  20. uses: actions/setup-dotnet@v4
  21. with:
  22. dotnet-version: 10.0.x
  23. - name: Restore
  24. run: dotnet restore ./RackPeek.Web.Viewer/RackPeek.Web.Viewer.csproj
  25. - name: Publish Blazor WASM
  26. run: dotnet publish ./RackPeek.Web.Viewer/RackPeek.Web.Viewer.csproj -c Release -o publish
  27. # Optional but recommended for GitHub Pages routing
  28. - name: Add SPA fallback
  29. run: cp publish/wwwroot/index.html publish/wwwroot/404.html
  30. - name: Upload Pages artifact
  31. uses: actions/upload-pages-artifact@v3
  32. with:
  33. path: publish/wwwroot
  34. deploy:
  35. environment:
  36. name: github-pages
  37. url: ${{ steps.deployment.outputs.page_url }}
  38. runs-on: ubuntu-latest
  39. needs: build
  40. steps:
  41. - name: Deploy to GitHub Pages
  42. id: deployment
  43. uses: actions/deploy-pages@v4