publish-webui.yml 1.3 KB

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