• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 22968808450

11 Mar 2026 06:43PM UTC coverage: 64.071% (-0.04%) from 64.113%
22968808450

push

github

web-flow
Speed up CI and fix flaky E2E tests (#4104)

* uses larger runners for e2e tests

Signed-off-by: Chris Burns <29541485+ChrisJBurns@users.noreply.github.com>

* Fix flaky CI tests with image pre-pull and dynamic ports

Pre-pull Docker images (osv-mcp, gofetch, egress-proxy) in the E2E CI
workflow so workload creation does not pay the image-pull cost inside
the 60s API middleware timeout. This eliminates the class of flakiness
where the first workload creation in a CI matrix bucket fails with
HTTP 500 because the image pull exceeds the timeout.

Also replace the hardcoded port 60000 in TestRunConfigBuilder with
networking.FindAvailable() to avoid failures when that port is already
in use on the CI runner.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Use larger runners for linting, operator CI, and helm tests

Upgrade CPU/memory-intensive CI jobs from ubuntu-latest (2 cores,
7 GB) to ubuntu-8cores-32gb to speed up PR turnaround:

- Linting: golangci-lint is CPU-bound, scales well with cores
- Operator tests, integration tests, build: Go compilation benefits
  from more cores
- Operator E2E tests: KIND cluster creation and Chainsaw tests are
  CPU/memory hungry (3 parallel jobs at ~8 min each)
- Helm chart tests: KIND cluster + ko builds benefit from more CPU

Quick jobs (generate-crds, generate-crd-docs) are left on
ubuntu-latest since they complete in under a minute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Use larger runner for E2E lifecycle tests

The v1.34.3 and v1.35.1 jobs were hitting the 30-minute timeout on
ubuntu-latest (2 cores). The job does ko builds (3 images), Docker
pulls (6 images), kind load operations, helm deploy, and E2E tests
which is too much for a 2-core runner within the time limit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Run operator E2E tests with 4-way parallelism

The VirtualMCP lifecycle E2E tests run sequentially by default, taking
~24 minutes as each test suite creates/... (continued)

48037 of 74975 relevant lines covered (64.07%)

74.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.58
/pkg/transport/proxy/httpsse/http_proxy.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc