ci: isolate backend test-host failure and serialise the suite
CI and Deploy / test (push) Failing after 1m0s
CI and Deploy / deploy (push) Has been skipped

Restore and build pass on the self-hosted runner but the test run dies after
~3s — too fast to have executed 306 tests. The suite passes on Windows, in a
clean Linux container, under a 1GB memory cap, in CI's exact step order, and
with the SDK installed to a custom dir without DOTNET_ROOT, so the trigger is
specific to this runner rather than the code.

Adds a one-test host smoke step (separates "host cannot start" from "the suite
takes the host down" using step boundaries, since job logs are not readable via
the API) and disables xUnit collection parallelism for the full run — the same
remedy the frontend already needs (--runInBand) on this resource-flaky runner.
All 306 tests still run; only concurrency changes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
cesnimda
2026-07-18 21:52:26 +02:00
parent 45725acc7c
commit 2bdc4a9748
+13 -1
View File
@@ -53,8 +53,20 @@ jobs:
- name: Build backend tests
run: dotnet build JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-restore
# Restore and build both pass on this runner, but the test run dies after ~3s -- far too fast to
# have executed 306 tests. The suite passes on Windows, in a clean Linux container, under a 1GB
# memory cap, and with the SDK installed to a custom dir without DOTNET_ROOT, so the cause is
# specific to this runner. This one-test smoke separates "the test host cannot start at all"
# from "something in the suite takes the host down"; the log is not readable via the API, so the
# step boundary is the signal.
- name: Test backend (host smoke)
run: dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build --filter "FullyQualifiedName~CvBuilderTests.Every_catalog_theme_renders_valid_html"
# Collection parallelism is disabled here for the same reason the frontend runs --runInBand:
# this runner is resource-flaky (documented npm ci SIGSEGV and SDK cache corruption above).
# Every one of the 306 tests still runs -- only the concurrency changes.
- name: Test backend
run: dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build
run: dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --configuration Release --no-build -- xUnit.parallelizeTestCollections=false xUnit.maxParallelThreads=1
- name: Install frontend deps
working-directory: job-tracker-ui