From 9297ad574e7ae9e8f54199d50d0f042921a00bc1 Mon Sep 17 00:00:00 2001 From: Stephen Hodgson Date: Sat, 11 Jan 2025 12:42:58 -0500 Subject: [PATCH] update workflow with docfx generation --- .github/workflows/Publish-Nuget.yml | 64 +++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Publish-Nuget.yml b/.github/workflows/Publish-Nuget.yml index 636806e..d452939 100644 --- a/.github/workflows/Publish-Nuget.yml +++ b/.github/workflows/Publish-Nuget.yml @@ -1,4 +1,4 @@ -name: Nuget Publish +name: Build and Publish on: push: @@ -22,15 +22,28 @@ on: dotnet-version: description: ".NET version to use" required: false - default: "6.0.x" + default: "8.0.x" + +permissions: + contents: read + pages: write + checks: write + id-token: write + pull-requests: write + +concurrency: + group: ${{ github.ref }} + cancel-in-progress: false env: - DOTNET_VERSION: ${{ github.event.inputs.dotnet-version || '6.0.x' }} - PACKAGE_VERSION: '' + DOTNET_VERSION: ${{ github.event.inputs.dotnet-version || '8.0.x' }} jobs: build: if: ${{ !github.event_name == 'pull_request' || !github.event.pull_request.draft }} + env: + PACKAGE_VERSION: '' + COVERAGE_FILE_PATH: '' runs-on: ubuntu-latest steps: @@ -38,7 +51,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v3 + - uses: actions/setup-dotnet@v4 with: dotnet-version: ${{ env.DOTNET_VERSION }} @@ -61,11 +74,18 @@ jobs: report_individual_runs: true compare_to_earlier_commit: false + - name: Determine Coverage File Path + if: ${{ github.ref != 'refs/heads/main' && github.event_name != 'push' && always() }} + shell: bash + run: | + COVERAGE_FILE_PATH=$(find ./test-results -name 'coverage.cobertura.xml' | head -n 1) + echo "COVERAGE_FILE_PATH=$COVERAGE_FILE_PATH" >> $GITHUB_ENV + - name: Code Coverage Summary Report if: ${{ github.ref != 'refs/heads/main' && github.event_name != 'push' && always() }} uses: irongut/CodeCoverageSummary@v1.3.0 with: - filename: test-results/**/coverage.cobertura.xml + filename: ${{ env.COVERAGE_FILE_PATH }} badge: true format: 'markdown' output: 'both' @@ -114,7 +134,7 @@ jobs: echo "PACKAGE_VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append shell: pwsh - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: always() with: name: ElevenLabs-DotNet.${{ env.PACKAGE_VERSION }} @@ -124,3 +144,33 @@ jobs: ${{ github.workspace }}/ElevenLabs-DotNet/bin/Release/ElevenLabs-DotNet-Proxy.${{ env.PACKAGE_VERSION }}.nupkg ${{ github.workspace }}/ElevenLabs-DotNet/bin/Release/ElevenLabs-DotNet-Proxy.${{ env.PACKAGE_VERSION }}.symbols.nupkg if-no-files-found: ignore + + docs: + if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} + needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: build docfx + run: | + dotnet tool update -g docfx + docfx .docs/docfx.json + + - uses: actions/upload-pages-artifact@v3 + with: + path: '_site' + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4.0.3