Fix Interface Default Implementaiton Detour #112
Workflow file for this run
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: Docs | |
| on: | |
| push: | |
| pull_request: | |
| branches: | |
| - reorganize | |
| defaults: | |
| run: | |
| shell: pwsh | |
| env: | |
| DOTNET_TELEMETRY_OPTOUT: true | |
| DOTNET_NOLOGO: true | |
| NUGET_PACKAGES: ${{github.workspace}}/artifacts/pkg | |
| RestoreLockedMode: true | |
| # We have to force the Roslyn version to be 4.14, because docfx ships that version, and if we target newer for the DocFX build, | |
| # our source generators won't load. This can be extracted from Directory.Packages.props in the docfx repo. | |
| RoslynVersion: 4.14.0 | |
| jobs: | |
| build-docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Configure git | |
| run: | | |
| git config --global core.autocrlf input | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| submodules: recursive | |
| - name: Install .NET SDK | |
| uses: nike4613/install-dotnet@cc706db77ed67745a4a4cbae19b2869220e34d27 | |
| with: | |
| global-json: global.json | |
| # NOTE: manual package caching | |
| - name: Cache restored NuGet packages | |
| uses: actions/cache@v5 | |
| with: | |
| path: ${{ env.NUGET_PACKAGES }} | |
| key: ${{ runner.os }}-nuget-v2-${{ hashFiles('**/packages.lock.json') }} | |
| restore-keys: ${{ runner.os }}-nuget-setup-v2-${{ hashFiles('build/gen-test-matrix/packages.lock.json') }} | |
| - name: Restore | |
| run: dotnet restore -bl:restore.binlog -noAutoRsp -p:RestoreLockedMode=false -p:RoslynVersion=${{ env.RoslynVersion }} | |
| - name: Restore .NET tools | |
| run: dotnet tool restore | |
| - name: Build all projects # don't run any analyzers to speed up this build | |
| run: dotnet build --no-restore -c Release -noAutoRsp -bl:build.binlog -p:RunAnalyzers=false -p:RoslynVersion=${{ env.RoslynVersion }} | |
| - name: Build DocFX project | |
| run: dotnet docfx docfx/docfx.json | |
| - name: Upload binlogs | |
| uses: actions/upload-artifact@v6 | |
| if: ${{ always() }} | |
| with: | |
| name: docs-binlogs | |
| path: '*.binlog' | |
| retention-days: 7 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v4 | |
| with: | |
| # Upload entire repository | |
| path: 'docfx/_site' | |
| publish-docs: | |
| needs: [build-docs] | |
| if: ${{ github.event_name == 'push' && github.ref_name == 'reorganize' }} | |
| # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | |
| # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
| permissions: | |
| actions: read | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |