publish-demo.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. # patch base href FIRST
  28. - name: Fix base href for Pages
  29. run: |
  30. sed -i 's|<base href="/" />|<base href="/RackPeek/" />|g' publish/wwwroot/index.html
  31. # THEN copy to 404.html
  32. - name: SPA fallback
  33. run: cp publish/wwwroot/index.html publish/wwwroot/404.html
  34. - name: Upload Pages artifact
  35. uses: actions/upload-pages-artifact@v3
  36. with:
  37. path: publish/wwwroot
  38. deploy:
  39. environment:
  40. name: github-pages
  41. url: ${{ steps.deployment.outputs.page_url }}
  42. runs-on: ubuntu-latest
  43. needs: build
  44. steps:
  45. - name: Deploy to GitHub Pages
  46. id: deployment
  47. uses: actions/deploy-pages@v4