Skip to content

Commit 9b6dfca

Browse files
ci: G1 — real-daemon integration lane (spec G1) (#17)
Add the `integration` CI job: `go test -tags=integration -race ./...` against ubuntu-latest's Docker. This activates the //go:build integration tests already written for internal/{docker,health,hooks} (read-only ContainerInspect/Logs, the readiness Poll over healthy+unhealthy containers, and a real `compose exec` hook), which until now ran only locally. Tests self-isolate with per-run names (devstack-it-<pid>) + t.Cleanup teardown and skip gracefully if the daemon is unreachable. This is also the isolation foundation the saga daemon e2e (C5) needs — the follow-up parameterizes the shared network/prefix so the saga test never touches a real devstack_shared. macOS + config-conformance lanes are noted as the next placeholders (G2). Verified the full integration suite green locally against Engine 29.5.3. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 82d9c15 commit 9b6dfca

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,26 @@ jobs:
114114
version: "~> v2"
115115
args: release --snapshot --clean
116116

117+
integration:
118+
# Real-daemon lane (G1): runs the //go:build integration tests against
119+
# ubuntu-latest's Docker (read-only inspect/logs, health polling, compose
120+
# exec). Tests self-isolate with per-run names (devstack-it-<pid>) + t.Cleanup
121+
# and skip gracefully if the daemon is unreachable.
122+
runs-on: ubuntu-latest
123+
steps:
124+
- uses: actions/checkout@v4
125+
- uses: actions/setup-go@v5
126+
with:
127+
go-version: ${{ env.GO_VERSION }}
128+
check-latest: true
129+
- name: docker available
130+
run: docker version
131+
- name: integration tests (-tags=integration -race)
132+
env:
133+
CGO_ENABLED: "1" # race detector needs cgo
134+
run: go test -tags=integration -race ./...
135+
117136
# Placeholder lanes wired as their milestones land:
118137
# - schema-drift: JSON-Schema ↔ Go-struct round-trip check (M1)
119-
# - integration: testcontainers-go / dind lane behind a build tag (M7)
138+
# - macos: macos-14 arm64 preflight-only (G2)
139+
# - config-conformance: golden workspace exercising every schema field

0 commit comments

Comments
 (0)