Visitar URL original
chore: use greedy pairwise coverage for CI matrix generation by vlsi · Pull Request #3965 · pgjdbc/pgjdbc · GitHub
Skip to content

chore: use greedy pairwise coverage for CI matrix generation - #3965

Merged
vlsi merged 2 commits into
pgjdbc:masterfrom
vlsi:pair_coverage
Mar 16, 2026
Merged

vlsi merged 2 commits into
pgjdbc:masterfrom
vlsi:pair_coverage

Conversation

@vlsi

@vlsi vlsi commented Mar 16, 2026

Copy link
Copy Markdown
Member

Replace the random-per-axis row generation with a greedy algorithm that maximizes pairwise parameter coverage. For each row, 1000 random candidates are generated and the one covering the most previously-uncovered parameter pairs is selected.

Pair scoring uses normalized weights (weight_i × weight_j) so that production-like values (e.g. autosave=never, query_mode=extended) are prioritized while non-default values still appear for coverage. Candidate generation uses uniform random to ensure diverse candidates.

This achieves ~43-47% pair coverage and ~76% weighted coverage with 5 jobs.

Use node matrix.mjs --coverage to see pair coverage statistics.

Replace the random-per-axis row generation with a greedy algorithm
that maximizes pairwise parameter coverage. For each row, 1000
random candidates are generated and the one covering the most
previously-uncovered parameter pairs is selected.

Pair scoring uses normalized weights (weight_i × weight_j) so that
production-like values (e.g. autosave=never, query_mode=extended)
are prioritized while non-default values still appear for coverage.
Candidate generation uses uniform random to ensure diverse candidates.

This achieves ~43-47% pair coverage and ~76% weighted coverage
with 5 jobs.

Use `node matrix.mjs --coverage` to see pair coverage statistics.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vlsi vlsi added the chore label Mar 16, 2026
Looks like 1s timeout was too agressive
@vlsi
vlsi merged commit 327b953 into pgjdbc:master Mar 16, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant