Files
zeekay 03964ca3b8 ci: add build+test workflow; run managed net8.0 unit suite
- Add .github/workflows/ci.yml (push/PR/dispatch, ubuntu, setup-dotnet@v4
  8.0.x). Builds the cross-platform libraries (runtime, generator, compiler,
  msbuild-generation) and runs the runtime test suite on net8.0.
- Zap.Net.Runtime.Tests: add a runnable net8.0 target alongside the retained
  legacy netcoreapp3.1/net471. net8.0 uses Test.Sdk 17.11.1 (16.x cannot host
  a net8.0 testhost) and MSTest 2.2.10 (keeps the non-generic Assert.AreEqual
  so existing assertions compile unchanged); RollForward=LatestMajor lets the
  testhost run on a newer shared runtime.
- Tag the I/O-bound integration classes (loopback-TCP RPC, anonymous-pipe
  frame pump) [TestCategory("Integration")] and exclude them from the default
  unit run; they hang/are slow in headless CI. TcpRpcInterop additionally
  skips on non-Windows (native ZapCompatTest.exe + kernel32 Job Objects).
- checkout fetch-depth: 0 so Nerdbank.GitVersioning can compute the version
  (it hard-fails on a shallow clone).

Local (net8.0): 301 passed / 0 failed (TestCategory!=Integration).
2026-06-20 22:51:47 -07:00
..