ci: parallelize Format/Analyze/CheckGenerated/Coverage in Check() #513

Merged
guettlibot merged 2 commits from issue-491-parallelize-check into main 2026-06-07 02:38:36 +00:00
guettlibot commented 2026-06-07 00:17:43 +00:00 (Migrated from codeberg.org)

Summary

  • Replaces the sequential Format → Analyze → CheckGenerated → Coverage block in Check() with a parallel errgroup.Group, matching the pattern already used for TestBackend/TestIntegration.
  • Each goroutine gets its own m.setup(m.checkSrc()) call (Dagger handles dedup via caching), so there are no shared-state races.
  • The final fmt.Sprintf return is unchanged — same output, same checks, just concurrent.

Verification

  • Reviewed that none of the four steps consumes output from another (no data dependency).
  • errgroup import was already present; no new dependencies.
  • Pre-commit hooks requiring nix cannot run in this sandbox, but the Go change is structurally identical to the existing TestBackend/TestIntegration parallel block that already passes CI.

Closes #491

## Summary - Replaces the sequential Format → Analyze → CheckGenerated → Coverage block in `Check()` with a parallel `errgroup.Group`, matching the pattern already used for `TestBackend`/`TestIntegration`. - Each goroutine gets its own `m.setup(m.checkSrc())` call (Dagger handles dedup via caching), so there are no shared-state races. - The final `fmt.Sprintf` return is unchanged — same output, same checks, just concurrent. ## Verification - Reviewed that none of the four steps consumes output from another (no data dependency). - `errgroup` import was already present; no new dependencies. - Pre-commit hooks requiring `nix` cannot run in this sandbox, but the Go change is structurally identical to the existing `TestBackend`/`TestIntegration` parallel block that already passes CI. Closes #491
Sign in to join this conversation.