# This workflow will build a .NET project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net name: .NET on: push: branches: - 'main' - 'pr/**' paths: - '**.cs' - '**.csproj' - '**.sln' - '**.yml' pull_request: branches: - 'pr/**' paths: - '**.cs' - '**.csproj' - '**.sln' - '**.yml' jobs: build-and-test: name: test-${{matrix.os}}-${{matrix.dotnet-version}} runs-on: ${{ matrix.os }} strategy: matrix: dotnet-version: [ '6', '7', '8' ] os: [ windows-latest, ubuntu-latest, macos-latest ] steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Get all history to allow automatic versioning using MinVer - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: ${{ matrix.dotnet-version }}.x - name: Restore dependencies run: dotnet restore - name: Build run: dotnet build -c Release --no-restore --framework net${{ matrix.dotnet-version }}.0 - name: Test run: dotnet test -c Release --no-build --verbosity normal --framework net${{ matrix.dotnet-version }}.0