feat(tests): daemon roundtrip smoke — handshake + send-message (PILOT… #599
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: architecture-gates | |
| on: [pull_request, push] | |
| permissions: | |
| contents: read # PILOT-113: least-privilege default | |
| jobs: | |
| gates: | |
| name: Architecture gates | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| # check-layers extracted to pilot-protocol/check-layers; the | |
| # layer-import + test-import gates that used to live here now | |
| # run from that sibling repo against any consumer that imports | |
| # web4 packages. | |
| # plugin-matrix removed: every plugin (updater, skillinject, | |
| # trustedagents, nameserver, dataexchange, eventstream, tasks, | |
| # gateway, policy, webhook) extracted to its own sibling repo, | |
| # and the no_<plugin> build tags they exercised left with them. | |
| - name: Lock-graph race detection (sec 4.8) | |
| # pkg/registry/ and pkg/secure/ extracted to pilot-protocol/{rendezvous,common} | |
| # in PR #155; lock-graph coverage for those layers now runs from | |
| # their own repos. pkg/daemon stays — that's where the daemon-side | |
| # lock graph (Store.mu, ReplayMu, SalvageMu, tm.mu, …) actually lives. | |
| run: go test -race -timeout 5m ./pkg/daemon/... | |
| - name: Lock-graph stress harness (sec 4.8) — TestConcurrentDialEncryptDecrypt | |
| # 1000 goroutines × 30 s × 3 reps = ~90 s wall time. Race-clean, | |
| # no panic, no goroutine leak. Skipped by -short; run here without. | |
| run: go test -race -count=1 -timeout 10m -run TestConcurrentDialEncryptDecrypt ./tests/... | |
| - name: P4/P9 - goroutine reaping | |
| run: go test ./tests -run "TestDaemonShutdown|TestStreamLifecycleGoroutines|TestPluginShutdown" |