Merge pull request #1 from matt-goldman/add-pages-workflow #1
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: Deploy to GitHub Pages | |
| # Adapted from: https://github.com/TenaciousDev/BlazorGitHubPagesDemo | |
| # Run workflow on every push to the main branch | |
| on: | |
| push: | |
| branches: [main] | |
| jobs: | |
| deploy-to-github-pages: | |
| # use ubuntu-latest image to run steps on | |
| runs-on: ubuntu-latest | |
| steps: | |
| # uses GitHub's checkout action to checkout code from the main branch | |
| - uses: actions/checkout@v4 | |
| # sets up .NET SDK 9.0.x | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| # installs the Blake CLI | |
| - name: Install Blake CLI | |
| run: dotnet tool install -g Blake.CLI | |
| # bake static content | |
| - name: Run blake bake | |
| run: blake bake | |
| # publishes the Blake static site to the release folder | |
| - name: Publish .NET Project | |
| run: dotnet publish -c Release -o release --nologo | |
| # changes the base-tag in index.html from '/' to the repository name to match GitHub Pages repository subdirectory | |
| # This is now generic and works for any repository. | |
| - name: Change base-tag in index.html from / to repository name | |
| run: | | |
| REPO_NAME="${{ github.event.repository.name }}" | |
| sed -i "s|<base href=\"/\" />|<base href=\"/${REPO_NAME}/\" />|g" release/wwwroot/index.html | |
| # copy index.html to 404.html to serve the same file when a file is not found | |
| - name: copy index.html to 404.html | |
| run: cp release/wwwroot/index.html release/wwwroot/404.html | |
| # add .nojekyll file to tell GitHub pages to not treat this as a Jekyll project. (Allow files and folders starting with an underscore) | |
| - name: Add .nojekyll file | |
| run: touch release/wwwroot/.nojekyll | |
| # publishes wwwroot directory to GitHub Pages | |
| - name: Commit wwwroot to GitHub Pages | |
| uses: JamesIves/github-pages-deploy-action@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| branch: gh-pages # The branch the action should deploy to. | |
| folder: release/wwwroot # The folder the action should deploy. |