Files
lmxopcua/scripts/ci/README.md
T
Joseph Doherty 76bdca90e9
v2-ci / unit-tests (pull_request) Successful in 1h1m1s
ci: bound build and test concurrency
2026-10-13 10:52:12 -04:00

1.5 KiB

Whole-solution CI

The v2-ci workflow restores, builds and tests in one job so the test step uses that job's Release binaries. Restore disables parallel package work; restore and build use at most two MSBuild workers. Testing uses one MSBuild worker, disables parallel target-framework runs and loads ci.runsettings: one VSTest process and two xUnit collection workers with conservative scheduling. Assemblies that disable parallelization keep that setting.

The workflow retains the E2E/LiveIntegration exclusions, includes SlowUnit, keeps Akka's test time factor at three, and requires at least 12,000 executed tests. Runner capacity and TRX files remain available for diagnosing failures. These limits reduce contention; they do not prove every timing failure has one cause. There are no automatic test retries or changed assertion deadlines.

Gitea 1.26 supports the repository-wide lmxopcua-v2-ci concurrency group. Only one run is active; an active run is not cancelled, but a newer pending run may supersede an older pending run. The group does not serialize other repositories using the same host.

To reproduce the bounded test leg after restore and Release build:

AKKA_TEST_TIMEFACTOR=3 dotnet test ZB.MOM.WW.OtOpcUa.slnx \
  --configuration Release --no-build -m:1 -p:TestTfmsInParallel=false \
  --settings scripts/ci/ci.runsettings \
  --filter "Category!=E2E&Category!=LiveIntegration" \
  --logger trx --results-directory artifacts/trx
MIN_EXECUTED=12000 bash scripts/ci/assert-not-all-skipped.sh artifacts/trx/*.trx