You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: strengthen CI with race detection, govulncheck, and more (#759)
* ci: strengthen CI with race detection, module verification, and protobuf validation
Add race detection and go mod tidy checks as parallel jobs in the test
workflow. Add buf lint and breaking change detection for protobuf
schemas. Add concurrency groups to test, lint, and build workflows to
cancel stale runs. Add path filtering to smoke tests so they skip on
non-code changes. Switch smoke test Docker builds to use GHA layer
caching for faster rebuilds. Enable exhaustive, protogetter, and
sloglint linters.
Fix a flaky test in mempool watcher exposed by the race detector where
the background processor could delete a transaction before the test
asserted on it.
* ci: consolidate test workflow into single sequential job
Merge race detection, mod-tidy, and test jobs into one runner.
The race detector already runs all tests, so a separate non-race
run was redundant.
* ci: use archive beacon node for cannon smoke test
The non-archive node returns 404 for historical committee/proposer
duty queries that cannon needs.
* ci: add health checks and improve smoke test diagnostics
- Add xatu-server health check step before starting sentry/cannon
(catches DNS/startup failures early with clear error messages)
- Bump sentry smoke test timeout from 10 to 15 minutes (builds can
take 9+ minutes, leaving no time for verification)
- Change failure artifact collection to run on failure OR cancelled
(job timeouts previously killed diagnostic steps)
- Add diagnostic dump step showing container status, network state,
and recent logs on failure
* ci: use pre-built Buildx images in smoke tests
Add image tags to docker-compose.yml so compose services use the
Buildx-built images instead of rebuilding from scratch. The compose
rebuild was using a stale Buildx cache that pulled in conflicting
otel schema versions, causing xatu-server to crash on startup.
With --build, compose now builds and tags correctly. Without --build
(CI), it uses the pre-built images directly.
* fix(observability): tolerate otel schema URL conflicts in resource merge
resource.Merge returns ErrSchemaURLConflict when resource.Default()
and our semconv attributes use different schema versions (e.g. 1.39.0
vs 1.34.0 due to transitive dependency version skew). The merged
resource is still valid and usable, so we tolerate this specific error.
* ci: fix health check to use TCP port check instead of wget
The xatu container doesn't have wget, and port 8080 serves gRPC not
HTTP. Use bash /dev/tcp for a simple TCP connectivity check from the
host instead of docker exec wget inside the container.
0 commit comments