Finalize multi-runtime ManagedCode.Tps SDK #7
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 | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| - "codex/**" | |
| pull_request: | |
| jobs: | |
| runtime-matrix: | |
| name: Runtime Matrix | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.matrix.outputs.matrix }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| - id: matrix | |
| run: echo "matrix=$(node SDK/scripts/runtime-matrix.mjs --compact)" >> "$GITHUB_OUTPUT" | |
| runtimes: | |
| name: Runtime ${{ matrix.runtime.language }} | |
| needs: runtime-matrix | |
| runs-on: ${{ matrix.runtime.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| runtime: ${{ fromJson(needs.runtime-matrix.outputs.matrix) }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - if: matrix.runtime.setup == 'node' || matrix.runtime.setup == 'dotnet' | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| - if: matrix.runtime.setup == 'dotnet' | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - if: matrix.runtime.setup == 'dart' | |
| uses: dart-lang/setup-dart@v1 | |
| - if: matrix.runtime.setup == 'java' | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| - if: matrix.runtime.setup == 'node' | |
| run: npm ci --prefix SDK/js | |
| - if: matrix.runtime.setup == 'dotnet' | |
| run: dotnet restore SDK/dotnet/ManagedCode.Tps.slnx | |
| - run: ${{ matrix.runtime.build }} | |
| - run: ${{ matrix.runtime.test }} | |
| quality: | |
| name: Quality | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| - uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - run: npm ci | |
| - run: npm ci --prefix SDK/js | |
| - run: dotnet restore SDK/dotnet/ManagedCode.Tps.slnx | |
| - run: npm run build:site | |
| - run: dotnet format SDK/dotnet/ManagedCode.Tps.slnx --verify-no-changes | |
| - run: dotnet build SDK/dotnet/ManagedCode.Tps.slnx -warnaserror --no-restore | |
| - run: dotnet test SDK/dotnet/ManagedCode.Tps.slnx --no-build --no-restore |