From e407c63f8de37732845612f3e6feaafe779d0754 Mon Sep 17 00:00:00 2001 From: Deluan Date: Sun, 30 Aug 2026 16:26:45 -0400 Subject: [PATCH] ci: run the plugins suite in parallel processes With the compilation cache warm the suite is bound by spec execution, which splits cleanly across processes. Run it as its own step with the ginkgo CLI, already declared as a tool in go.mod, and drop the package from the main go test invocation so it is not run twice. Locally, with -race: 69s to 19s warm, and 256s to 96s cold. --- .github/workflows/pipeline.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 012e3a9c3..daaf6abb5 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -148,7 +148,12 @@ jobs: restore-keys: wazero-${{ runner.os }}- - name: Test - run: go test -shuffle=on -tags netgo,sqlite_fts5 -race ./... -v + run: go test -shuffle=on -tags netgo,sqlite_fts5 -race -v $(go list ./... | grep -v '/plugins$') + + # Run separately: this suite is long enough that splitting it across + # processes beats running it alongside the other packages. + - name: Test plugins + run: go tool ginkgo -p -race -tags netgo,sqlite_fts5 ./plugins/ - name: Test ndpgen run: |