diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f0c7b99..2c1f180 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -15,8 +15,9 @@ jobs: fail-fast: true matrix: dotnet: [ '6.0.x', '7.0.x', '8.0.x' ] + os: [ ubuntu-latest, windows-latest ] - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -27,11 +28,19 @@ jobs: dotnet-version: ${{ matrix.dotnet }} - name: Set the TFM in Ubuntu + if: startsWith(matrix.os, 'ubuntu') run: | VERSION=$(echo "${{ matrix.dotnet }}" | sed 's/[^0-9.]*//g') VERSION=$(echo "${VERSION}" | sed 's/\.$//') DOTNET_TFM="net${VERSION}" echo "DOTNET_TFM=$DOTNET_TFM" >> $GITHUB_ENV + + - name: Set the TFM in Windows + if: startsWith(matrix.os, 'windows') + run: | + $VERSION = "${{ matrix.dotnet }}".Substring(0, "${{ matrix.dotnet }}".LastIndexOf('.')) + $DOTNET_TFM = "net$VERSION" + echo "DOTNET_TFM=$DOTNET_TFM" | Out-File -FilePath $env:GITHUB_ENV -Append - name: Restore dependencies run: dotnet restore @@ -39,8 +48,14 @@ jobs: - name: Build run: dotnet build --no-restore -c Release -f ${{ env.DOTNET_TFM }} - - name: Test + - name: Test (Ubuntu) + if: matrix.os == 'ubuntu-latest' run: dotnet test --no-build --verbosity normal -c Release -f ${{ env.DOTNET_TFM }} /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[*.XUnit]*" + + - name: Test (Windows) + if: matrix.os == 'windows-latest' + run: dotnet test --no-build --verbosity normal -c Release -f ${{ env.DOTNET_TFM }} --filter DB!=SQLServer + - name: Collect to Codecov uses: codecov/codecov-action@v4