GitLab CI
The same shape as the GitHub Actions setup: one results directory, tests, then artifacts that upload even when the tests failed.
.gitlab-ci.yml
integration-tests:
image: mcr.microsoft.com/dotnet/sdk:10.0
variables:
PROTOTEST_RESULTS: "$CI_PROJECT_DIR/TestResults/ProtoTest"
script:
- dotnet restore
- dotnet test --configuration Release --no-restore
artifacts:
when: always
paths:
- TestResults/ProtoTest/
expire_in: 14 days
when: alwaysis the GitLab spelling ofif: always(): the trace is most useful when the test step failed.PROTOTEST_RESULTSpoints at$CI_PROJECT_DIR/TestResults/ProtoTest, the directory the wiring reads.expire_in: 14 daysbounds storage; a suite with browser diagnostics grows faster, so shorten it or keep failures longer per retention.- A container-backed suite needs a Docker-capable runner. Your runner setup decides if Docker-in-Docker is allowed and which service config it needs. ProtoTest only needs a reachable Docker endpoint.