Repository navigation
Replace the native release select with a date-labelled picker #53
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: CI | |
| on: | |
| push: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build solution | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v6 | |
| with: | |
| dotnet-version: "10.0.x" | |
| - name: Build solution | |
| run: dotnet run --project ./build -- build-solution | |
| discover: | |
| name: Discover categories | |
| runs-on: ubuntu-latest | |
| outputs: | |
| categories: ${{ steps.matrix.outputs.categories }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v6 | |
| with: | |
| dotnet-version: "10.0.x" | |
| - name: Build category matrix | |
| id: matrix | |
| run: | | |
| dotnet run --project ./build -- ci-matrix --output artifacts/ci-matrix.json | |
| echo "categories=$(jq -c . artifacts/ci-matrix.json)" >> "$GITHUB_OUTPUT" | |
| validate: | |
| name: Validate features (${{ matrix.category }}) | |
| needs: discover | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| category: ${{ fromJSON(needs.discover.outputs.categories) }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v6 | |
| with: | |
| dotnet-version: "10.0.x" | |
| # Native AOT probing is a real publish per library and DependencyInjection alone has 22 of | |
| # them, so it is skipped here to keep per-push feedback fast. The full probe set still runs | |
| # in reports.yml and in a local prepare-commit. | |
| - name: Validate library features | |
| run: dotnet run --project ./build -- ci-reports --category "${{ matrix.category }}" --skip-benchmarks --skip-aot-probes | |
| - name: Upload feature reports | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: ci-features-${{ matrix.category }} | |
| path: artifacts/ci-reports | |
| if-no-files-found: error | |
| retention-days: 7 |