wavefnd / wavefnd/Wave

Shard the Wave Cases matrix as the corpus grows

Open
#465 0 comments 0 reactions 0 assignees View on GitHub
build cross-platform performance
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

## Problem

PR #457 grows the corpus to more than 600 case sources. Each enabled compile matrix currently processes the full common suite serially, so case growth multiplies CI wall time and makes one failure wait behind unrelated cases. Removing the unconditional runner delay is already tracked by #356 and is not sufficient by itself.

## Scope

- Add deterministic manifest-driven sharding for large case suites.
- Keep architecture/OS-specific cases in the correct target job.
- Produce one report per shard and a stable merged summary or clearly named artifacts.
- Avoid duplicate execution and keep local unsharded runs simple.
- Measure before/after duration on the same workflow revision.

## Completion criteria

- Every selected case appears in exactly one shard.
- Shard composition is deterministic across hosts and Python versions.
- CI duration is bounded as the shared suite grows.
- Failures retain their original case path and target identity.

Related: #356, #457

Contributor guide

Open the contributing guide

Research direction

Start with the common case suite, compile matrix, and manifest/report entry points, then trace how architecture- and OS-specific cases are selected. Verify shard assignment across hosts and Python versions, and measure the same workflow revision before and after; done means deterministic, non-duplicated shards with preserved case paths and target identities.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
ci-cd, compilers, performance, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.