Skip to content

fix(ci): fail hung unit tests and run build in parallel - #701

Merged
behinddwalls merged 3 commits into
mainfrom
preetam/ci-unit-test-timeout
Sep 11, 2026
Merged

fix(ci): fail hung unit tests and run build in parallel#701
behinddwalls merged 3 commits into
mainfrom
preetam/ci-unit-test-timeout

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Why?

A sequential make build then make test made the unit-test job wait on a full compile that tests already cover. Dropping build entirely skipped the compile-only gate (bazel build //...).

What?

Split Build and Unit Test into two jobs that start together. Build still runs make build. Unit Test still runs make test with --build_tests_only. Required Checks waits on both. Each job keeps its own Bazel cache key (github.job).

Test Plan

CI on this PR: Build and Unit Test jobs run concurrently; Required Checks includes both.

Co-authored-by: Cursor cursoragent@cursor.com

## Summary

### Why?

Build and Unit Test on PR CI sat on `//service/runway/server:go_default_test` until Bazel's 300s timeout because a consumer test sent a message with no tenant. After tenant sharding the consumer rejects that delivery before Process, so the nack path never closed `done`. `make test` then swallowed the Bazel failure with `|| echo`, so the job still went green.

### What?

Set `Tenant` on the mock message so the delivery reaches Process. Drop the `|| echo` so `make test` fails when Bazel does. Add `--build_tests_only` and remove the extra `make build` step from that CI job; `bazel test` already compiles what the tests need.

## Test Plan

✅ `bazel test //service/runway/server:go_default_test` PASSED in 5.5s (was TIMEOUT 300s)

Co-authored-by: Cursor <cursoragent@cursor.com>
@behinddwalls
behinddwalls marked this pull request as ready for review September 11, 2026 05:53
@behinddwalls
behinddwalls requested review from a team and sbalabanov as code owners September 11, 2026 05:53
## Summary

### Why?

A sequential `make build` then `make test` made the unit-test job wait on a full compile that tests already cover. Dropping build entirely skipped the compile-only gate (`bazel build //...`).

### What?

Split Build and Unit Test into two jobs that start together. Build still runs `make build`. Unit Test still runs `make test` with `--build_tests_only`. Required Checks waits on both. Each job keeps its own Bazel cache key (`github.job`).

## Test Plan

CI on this PR: Build and Unit Test jobs run concurrently; Required Checks includes both.

Co-authored-by: Cursor <cursoragent@cursor.com>
@behinddwalls behinddwalls changed the title fix(ci): fail hung unit tests and skip a redundant bazel build fix(ci): fail hung unit tests and run build in parallel Sep 11, 2026
@behinddwalls
behinddwalls merged commit e50c20e into main Sep 11, 2026
14 of 15 checks passed
@behinddwalls
behinddwalls deleted the preetam/ci-unit-test-timeout branch September 11, 2026 20:52
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.

2 participants