From dd295bcf291baee0279c17d7ec2d2016a24b1224 Mon Sep 17 00:00:00 2001 From: Nikolay Pianikov Date: Fri, 8 Mar 2024 14:24:53 +0300 Subject: [PATCH] Publish Blazor example 2 --- .github/workflows/main.yml | 43 +++++++++++++++++++++++++++++++----- build/PublishBlazorTarget.cs | 8 +------ 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b312cf6..d0d5c1cf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,18 @@ name: Pure.DI check -on: [ push ] +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write jobs: build: @@ -21,9 +33,28 @@ jobs: - name: Publish Blazor example run: dotnet run --project ./build -- publish - - name: Commit wwwroot to GitHub Pages - uses: JamesIves/github-pages-deploy-action@3.7.1 + - name: Setup Pages + uses: actions/configure-pages@v4 + + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: gh-pages - FOLDER: root + source: ./root/wwwroot + destination: ./_site + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + needs: build + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/build/PublishBlazorTarget.cs b/build/PublishBlazorTarget.cs index f5a9e208..7486811f 100644 --- a/build/PublishBlazorTarget.cs +++ b/build/PublishBlazorTarget.cs @@ -31,15 +31,9 @@ public async Task RunAsync(CancellationToken cancellationToken) // Change the base-tag in index.html from '/' to 'BlazorWebAssemblyApp' to match GitHub Pages repository subdirectory var indexFile = Path.Combine(wwwroot, "index.html"); var indexContent = await File.ReadAllTextAsync(indexFile, cancellationToken); - indexContent = indexContent.Replace("""""", """"""); + indexContent = indexContent.Replace("""""", """"""); await File.WriteAllTextAsync(indexFile, indexContent, cancellationToken); - // Copy index.html to 404.html to serve the same file when a file is not found - File.Copy(indexFile, Path.Combine(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) - await File.AppendAllTextAsync(Path.Combine(wwwroot, ".nojekyll"), "", cancellationToken); - return result ?? 1; } } \ No newline at end of file