Skip to content

Finalize multi-runtime ManagedCode.Tps SDK #7

Finalize multi-runtime ManagedCode.Tps SDK

Finalize multi-runtime ManagedCode.Tps SDK #7

Workflow file for this run

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