ci: simplify test workflow — matrix go tests, un-gate build#410
Conversation
The unit, e2e, integration, and contract jobs shared identical checkout/setup-go/cache boilerplate and differed only in the test command, so they now run as a single matrix job. Check names are preserved (Unit Tests, E2E Tests, Integration Tests, Contract Replay Tests) so required status checks keep matching. The build job no longer waits on the test jobs — compiling the binary doesn't depend on tests passing, so it now runs in parallel and shortens the critical path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe GitHub Actions workflow consolidates four separate Go test jobs (unit, E2E, integration, contract replay) into a single ChangesCI Workflow Consolidation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Confidence Score: 5/5This looks safe to merge.
Reviews (1): Last reviewed commit: "ci: collapse go test jobs into a matrix ..." | Re-trigger Greptile |
Stacked on #409 (base branch
ci/supply-chain-vulncheck). Review/merge that first; this PR's diff then collapses to just the workflow simplification once rebased ontomain.Summary
Two no-coverage-change simplifications to
test.yml:Unit Tests,E2E Tests,Integration Tests, andContract Replay Testsshared identical checkout +setup-go+ cache boilerplate and differed only in the test command. They're now a singlego-testsmatrix job. Net: −50 / +22 lines, same parallelism, same suites.buildjob. It previously declaredneeds: [lint, test-unit, …, performance], which serialized a fresh-runner recompile to after the slowest test finished. Compiling./cmd/gomodeldoesn't depend on tests passing, so it now runs in parallel — shortening the critical path.Compatibility
name: ${{ matrix.name }}renders to the exact same check names (Unit Tests,E2E Tests,Integration Tests,Contract Replay Tests), so required-status-check rules in branch protection keep matching with no reconfiguration.Unit Testsmatrix row (if: matrix.coverage), same as before.User-visible impact
None at runtime — CI-only. Faster feedback (build no longer waits on tests) and less workflow boilerplate.
🤖 Generated with Claude Code
Summary by CodeRabbit