Skip to content

Feature integration test sharding#784

Open
vfusco wants to merge 4 commits into
next/2.0from
feature/integration-test-sharding
Open

Feature integration test sharding#784
vfusco wants to merge 4 commits into
next/2.0from
feature/integration-test-sharding

Conversation

@vfusco

@vfusco vfusco commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@vfusco vfusco added this to the 2.0.0 milestone Jun 19, 2026
@vfusco vfusco self-assigned this Jun 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces integration-test sharding to speed up CI by splitting the integration suite into isolated Docker Compose projects, plus adds supporting tooling (log capture, shard coverage guard) and updates workflows/actions accordingly.

Changes:

  • Add shard-aware integration test execution (Makefile shards + TEST_PATTERN forwarding) and a shard coverage guard for CI.
  • Introduce a Compose runner script that captures run output + node log + service logs per shard into dedicated artifacts.
  • Replace the GitHub license-header action with a repo-local license header verification script; update CI workflows and housekeeping.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/integration/main_test.go Skips node management when invoked via go test -list to support shard discovery.
test/compose/compose.integration.yaml Adds shard/test selection env vars and gotestsum format configuration for the integration container.
scripts/run-integration-tests.sh Adds TEST_PATTERN/SHARD_NAME support and centralizes Go test args for shard runs.
scripts/compose-integration-run.sh New: isolated Compose project runner that aggregates logs into a single file per run/shard.
scripts/check-license-header.sh New: checks Go source files for the standard license header (replacing the previous action).
scripts/check-integration-shards.sh New: validates that every top-level integration test belongs to exactly one shard.
README.md Minor wording/link formatting tweak.
Makefile Adds shard definitions/targets, log cleanup target, and license check target; updates integration CI plumbing.
Dockerfile Installs additional binutils packages needed for build/linking.
.gitignore Ignores integration log artifacts.
.github/workflows/clean-up-images.yml Switches GHCR cleanup to a scheduled workflow and pins the prune action by commit.
.github/workflows/build.yml Updates actions, adds shard-matrix integration job setup, and uploads per-shard logs.
.github/license-check/config.json Removed (no longer needed after switching to the local license header script).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/check-integration-shards.sh Outdated
Comment on lines +38 to +40
# Filter out the trailing "ok <package>" summary line of -list.
TESTS=$(go test -list '^Test' -tags=endtoendtests ./test/integration/... |
grep -E '^Test[A-Za-z0-9_]*$' || true)
Comment on lines +67 to +69
for i in "${!SHARD_NAMES[@]}"; do
if ! printf '%s\n' $TESTS | grep -Eq "${SHARD_REGEXES[$i]}"; then
echo "ERROR: shard ${SHARD_NAMES[$i]} (${SHARD_REGEXES[$i]}) matches no tests" >&2
Comment thread scripts/check-integration-shards.sh Outdated
Comment thread scripts/check-integration-shards.sh
@vfusco vfusco force-pushed the feature/integration-test-sharding branch 2 times, most recently from bd0a56a to 1683250 Compare June 20, 2026 23:23
@vfusco vfusco force-pushed the feature/integration-test-sharding branch from 1683250 to 6238416 Compare June 21, 2026 01:05
@github-project-automation github-project-automation Bot moved this from Todo to Waiting Merge in Rollups SDK Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Waiting Merge

Development

Successfully merging this pull request may close these issues.

3 participants