Skip to content

More parallelism#367

Merged
grahamc merged 1 commit intomainfrom
push-vpznklyquurl
Feb 25, 2026
Merged

More parallelism#367
grahamc merged 1 commit intomainfrom
push-vpznklyquurl

Conversation

@grahamc
Copy link
Member

@grahamc grahamc commented Feb 24, 2026

Motivation

I drafted this when I thought CI would stall again, but then didn't need it.

Context

Summary by CodeRabbit

  • Chores
    • Expanded build matrix testing by increasing granularity of nix configuration coverage, changing from range-based groupings to individual configuration entries. This ensures more comprehensive testing across all supported build configurations.

@coderabbitai
Copy link

coderabbitai bot commented Feb 24, 2026

📝 Walkthrough

Walkthrough

The flake regression matrix glob patterns in the GitHub Actions build workflow were refactored from range-based groupings to explicit single-character patterns, expanding from four range patterns to separate patterns for each digit (0-9) and letter (a-z), affecting which nix configurations are included in the build matrix.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Configuration
.github/workflows/build.yml
Expanded flake regression matrix glob patterns from range-based groupings ([0-d]*, [e-l]*, [n-r]*, [s-z]*) to explicit single-character entries ([0]* through [9]*, [a]* through [z]*), broadening the set of nix configurations included in the matrix.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Whisker-twitching with glee,
Each letter and digit now runs wild and free,
From ranges now explicit, the workflows align,
A rabbit's delight—configuration divine!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'More parallelism' is vague and does not clearly describe the specific change made to the workflow matrix configuration. Consider a more specific title that describes the actual change, such as 'Expand CI matrix with per-character glob patterns' or 'Increase matrix parallelism by enumerating character patterns'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch push-vpznklyquurl

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

@github-actions github-actions bot temporarily deployed to pull request February 24, 2026 05:11 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/build.yml (1)

134-170: 7× increase in matrix job count (15 → 108) — confirm cost/quota implications.

Replacing 5 range globs with 36 single-character globs × 3 nix_config values yields 108 concurrent jobs per trigger, up from 15. A few things worth confirming:

  1. CI cost / minute quota — runner-minutes consumed will scale proportionally. Given each job can run up to 60 minutes (inherited from the flake_regressions job has no explicit timeout, so it inherits none — unlimited), the worst-case total is unbounded.
  2. Runner availabilityinputs.runner is the target; confirm the pool is large enough to absorb 108 parallel jobs without queuing that defeats the parallelism goal.
  3. Intentionality — the PR description notes the changes were drafted preemptively and "ultimately did not need the changes." If this is still true, landing 108-job matrices on every qualifying trigger may be unnecessary overhead.

Also worth noting: each job still runs with PARALLEL: '-P 1' (line 190), so parallelism within each job is serialized — the only gain is cross-job parallelism. The previously-commented-out adaptive logic (-P 50% for non-eval-cores configs) at line 189 could compound this further if ever re-enabled.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/build.yml around lines 134 - 170, The matrix expansion
replaced compact range globs with 36 single-character globs causing nix_config ×
those entries to balloon the flake_regressions matrix from 15 to 108 jobs;
revert to using range-style globs (e.g., the previous 5 range patterns) or
otherwise reduce the glob list to match the original cardinality, confirm with
the CI owners that inputs.runner can handle 108 simultaneous jobs and update
job-level protections (set a timeout or concurrency cap on the flake_regressions
job), and consider restoring adaptive per-job parallelism (the commented `-P
50%` logic and current `PARALLEL: '-P 1'`) so each job doesn’t serialize
unnecessarily when the matrix size increases.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/build.yml:
- Around line 134-170: The matrix expansion replaced compact range globs with 36
single-character globs causing nix_config × those entries to balloon the
flake_regressions matrix from 15 to 108 jobs; revert to using range-style globs
(e.g., the previous 5 range patterns) or otherwise reduce the glob list to match
the original cardinality, confirm with the CI owners that inputs.runner can
handle 108 simultaneous jobs and update job-level protections (set a timeout or
concurrency cap on the flake_regressions job), and consider restoring adaptive
per-job parallelism (the commented `-P 50%` logic and current `PARALLEL: '-P
1'`) so each job doesn’t serialize unnecessarily when the matrix size increases.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 628d55c and e69b425.

📒 Files selected for processing (1)
  • .github/workflows/build.yml

@grahamc grahamc added this pull request to the merge queue Feb 25, 2026
Merged via the queue into main with commit d1c3725 Feb 25, 2026
28 checks passed
@grahamc grahamc deleted the push-vpznklyquurl branch February 25, 2026 17:22
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.

2 participants