Skip to content

CI: shard integration tests#2428

Draft
yuandrew wants to merge 2 commits into
mainfrom
shard-integ-tests
Draft

CI: shard integration tests#2428
yuandrew wants to merge 2 commits into
mainfrom
shard-integ-tests

Conversation

@yuandrew

@yuandrew yuandrew commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

What was changed

Shard integration tests so we can run more jobs in parallel in CI, speeding up CI.

Also added a check that validates the manifest before generating the regex. It runs:

go test -list . ./...

from the test/ directory, parses discovered top-level tests, and fails if any discovered test is missing from the manifest, assigned to multiple shards, or listed in the manifest but no longer exists. This prevents new integration tests from being silently skipped.

Why?

Faster CI.

Checklist

  1. Closes

  2. How was this tested:

  1. Any docs updates needed?

Note

Low Risk
Changes are limited to CI configuration and the internal build helper; SDK runtime behavior is unchanged, and manifest sync checks reduce the risk of incomplete test coverage.

Overview
Shards integration tests across CI so each matrix job runs a subset instead of the full test/ suite, increasing parallelism and shortening wall-clock time.

Adds .github/integration-shards.yml with five shards (core, payload, nexus, worker, replay) mapping top-level Test* names. The integration-test-no-cache and integration-test-with-cache workflows gain a shard matrix axis and pass -shard ${{ matrix.shard }} to the build CLI.

The internal/cmd/build tool loads that manifest, maps a shard to a go test -run regex, and adds integration-shard-regex / integration-shard-validate plus -shard (mutually exclusive with -run). Validation runs go test -list . ./... under test/ and fails if tests are unassigned, duplicated across shards, or listed but missing. gopkg.in/yaml.v3 is a direct dependency; unit tests cover list parsing and manifest validation.

Reviewed by Cursor Bugbot for commit 1b400b1. Bugbot is set up for automated code reviews on this repo. Configure here.

@yuandrew yuandrew requested a review from a team as a code owner July 2, 2026 16:12
@yuandrew yuandrew marked this pull request as draft July 2, 2026 17:10
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.

1 participant