Artifact fe4f2c7b17ac25a305e1ba933b73569e7a463187eab20d3a092172581f0d8063:
- File
.github/workflows/test.yml
— part of check-in
[7275783d59]
at
2026-05-04 19:34:30
on branch feat/113-hub-leaf-e2e
— test(sim): hub + leaf agent end-to-end integration test
Adds sim/hub_leaf_test.go: a real *hub.Hub bound to auto-allocated ports, a real *agent.Agent built against a leaf repo cloned from the hub, and a round-trip Commit + SyncTo + Hub.ReadAt that exercises the HTTP-xfer path end-to-end.
Without this test, the kind of cross-component regression bones surfaced in #120 (the SetMaxOpenConns deadlock under concurrent clones) only shows up downstream. With it, EdgeSync's own CI catches it.
Wired into the existing 'Sim serve tests' step (Makefile + test.yml) alongside TestServeHTTP/TestLeafToLeaf/TestAgentServe so the test runs on every PR.
Closes #113 (user: [email protected], size: 1540) [annotate] [blame] [check-ins using] [more...]
name: Tests on: push: branches: [main] paths-ignore: - '**.md' - 'docs/**' - 'wrangler.jsonc' - 'LICENSE' pull_request: paths-ignore: - '**.md' - 'docs/**' - 'wrangler.jsonc' - 'LICENSE' jobs: unit: name: Unit Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: leaf run: cd leaf && go test ./... -short -count=1 - name: bridge run: cd bridge && go test ./... -short -count=1 sim: name: Sim & Interop runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Install Fossil run: sudo apt-get update && sudo apt-get install -y fossil - name: Sim unit tests run: cd sim && go test . -run 'TestFaultProxy|TestGenerateSchedule|TestBuggify' -count=1 - name: Sim serve tests run: cd sim && go test . -run 'TestServeHTTP|TestLeafToLeaf|TestAgentServe|TestHubLeafE2E' -count=1 -timeout=120s - name: Interop (short) run: cd sim && go test . -run 'TestInterop' -count=1 -short -timeout=60s build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Build all binaries run: make build - name: Vet run: make vet