diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 025b5533..a2437596 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -65,10 +65,23 @@ jobs: run: | set -e dotnet --version + # Core.Net runs SINGLE-THREADED here, on its own, and the split is + # measured rather than defensive: on this 6-core container the + # assembly FAILS in 40 s with default parallelism and PASSES in 10 s + # with one thread. Its sessions do real socket work on background + # threads, so contention both breaks and slows them. Windows has 18 + # cores, passes in ~7 s parallel, and REGRESSED when serialized, so + # this stays scoped to Linux. + echo '::group::AcDream.Core.Net.Tests (single-threaded)' + dotnet test tests/AcDream.Core.Net.Tests/AcDream.Core.Net.Tests.csproj \ + -c Release --nologo \ + --filter 'Lane!=InstalledDat&Lane!=PreparedPackage&Lane!=Live&Lane!=Manual&Lane!=Timing&Lane!=Windows&Lane!=SystemFont&Purpose!=Diagnostic&Status!=KnownFailure' \ + -- xUnit.MaxParallelThreads=1 + echo '::endgroup::' + for p in \ tests/AcDream.Platform.Tests \ tests/AcDream.Core.Tests \ - tests/AcDream.Core.Net.Tests \ tests/AcDream.Content.Tests \ tests/AcDream.Runtime.Tests \ tests/AcDream.Headless.Tests \