Complete performance improvements for 6.3.1 #6
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: Build and Test | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| jobs: | |
| build-and-test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET SDK | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 8.0.x | |
| 10.0.x | |
| - name: Restore solution | |
| run: dotnet restore src/WatsonTcp.sln | |
| - name: Build library (Release) | |
| run: dotnet build src/WatsonTcp/WatsonTcp.csproj --configuration Release --no-restore | |
| - name: Build shared tests (Release) | |
| run: dotnet build src/Test.Shared/Test.Shared.csproj --configuration Release --no-restore | |
| - name: Build CLI host (Release) | |
| run: dotnet build src/Test.Automated/Test.Automated.csproj --configuration Release --no-restore | |
| - name: Build xUnit host (Release) | |
| run: dotnet build src/Test.XUnit/Test.XUnit.csproj --configuration Release --no-restore | |
| - name: Build NUnit host (Release) | |
| run: dotnet build src/Test.Nunit/Test.Nunit.csproj --configuration Release --no-restore | |
| - name: Create test results directory | |
| shell: pwsh | |
| run: New-Item -ItemType Directory -Force -Path ./test-results | Out-Null | |
| - name: Run Touchstone CLI host | |
| run: dotnet run --project src/Test.Automated/Test.Automated.csproj --configuration Release --framework net8.0 --no-build -- --results ./test-results/cli-results.json | |
| - name: Run xUnit tests (Linux) | |
| if: runner.os == 'Linux' | |
| run: | | |
| dotnet test src/Test.XUnit/Test.XUnit.csproj --configuration Release --no-build --framework net8.0 --logger "trx;LogFileName=test-results-net8.0.trx" --results-directory ./test-results | |
| dotnet test src/Test.XUnit/Test.XUnit.csproj --configuration Release --no-build --framework net10.0 --logger "trx;LogFileName=test-results-net10.0.trx" --results-directory ./test-results | |
| dotnet test src/Test.Nunit/Test.Nunit.csproj --configuration Release --no-build --framework net8.0 --logger "trx;LogFileName=nunit-results-net8.0.trx" --results-directory ./test-results | |
| dotnet test src/Test.Nunit/Test.Nunit.csproj --configuration Release --no-build --framework net10.0 --logger "trx;LogFileName=nunit-results-net10.0.trx" --results-directory ./test-results | |
| - name: Run xUnit and NUnit tests (Windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| dotnet test src/Test.XUnit/Test.XUnit.csproj --configuration Release --no-build --framework net8.0 --logger "trx;LogFileName=test-results-net8.0.trx" --results-directory ./test-results | |
| dotnet test src/Test.XUnit/Test.XUnit.csproj --configuration Release --no-build --framework net10.0 --logger "trx;LogFileName=test-results-net10.0.trx" --results-directory ./test-results | |
| dotnet test src/Test.Nunit/Test.Nunit.csproj --configuration Release --no-build --framework net8.0 --logger "trx;LogFileName=nunit-results-net8.0.trx" --results-directory ./test-results | |
| dotnet test src/Test.Nunit/Test.Nunit.csproj --configuration Release --no-build --framework net10.0 --logger "trx;LogFileName=nunit-results-net10.0.trx" --results-directory ./test-results | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results-${{ matrix.os }} | |
| path: | | |
| ./test-results/*.trx | |
| ./test-results/cli-results.json |