Skip to content

test: speed up compose lifecycle#434

Open
sbalabanov wants to merge 1 commit into
mainfrom
fix/compose-test-lifecycle
Open

test: speed up compose lifecycle#434
sbalabanov wants to merge 1 commit into
mainfrom
fix/compose-test-lifecycle

Conversation

@sbalabanov

Copy link
Copy Markdown
Contributor

Summary

  • run test MySQL data directories on fresh tmpfs mounts and skip timezone-table initialization
  • poll MySQL health every second while retaining a 60-second retry window
  • retain service images under stable per-worktree names so up --build can reuse them without cross-worktree contamination
  • keep database isolation by continuing to remove each unique Compose project's volumes with down -v

Benchmarks

Two isolated uncached Bazel runs per target on the same host:

Target Before After Change
//test/integration/extension/counter/mysql:go_default_test 13.959s 10.096s -27.7%
//test/integration/submitqueue/gateway:go_default_test 18.675s 12.904s -30.9%
//test/e2e/stovepipe:go_default_test 15.909s 12.271s -22.9%

Raw samples:

  • counter: 13.874s, 14.043s -> 10.141s, 10.052s
  • gateway: 20.860s, 16.489s -> 12.709s, 13.099s
  • Stovepipe e2e: 15.811s, 16.007s -> 12.738s, 11.803s

Validation

  • all 10 Docker-backed integration/e2e Bazel targets passed together
  • make lint
  • make check-tidy
  • make check-gazelle

Tradeoffs

  • test databases consume RAM while running; they remain fresh per stack and are discarded at teardown
  • one finite set of service images is retained per worktree; --build still checks and refreshes them for correctness
  • local/manual Compose retains volume-backed MySQL by default; the tmpfs setting is applied only by ComposeStack

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@sbalabanov
sbalabanov marked this pull request as ready for review July 23, 2026 01:02
@sbalabanov
sbalabanov requested review from a team and behinddwalls as code owners July 23, 2026 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants