split test runs into groups - #888
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
CI jobs use an unsupported flag, and failed coverage checks can leave runtime timing data stale.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This pull request splits the RSpec suite across CI matrix jobs and centralizes coverage and runtime data.
Changes:
- Distributes test execution across parallel groups.
- Defers coverage enforcement until results are merged.
- Collects and caches coverage and runtime artifacts.
File summaries
| File | Summary |
|---|---|
spec/rails_helper.rb |
Defers per-job coverage enforcement. |
.github/workflows/ci.yml |
Adds matrix testing and artifact aggregation. Critical: parallel_tests 5.7.0 does not support --allowed-missing, causing jobs to fail. Moderate: timing data may remain stale when coverage checks fail. |
Review details
Suppressed comments (1)
.github/workflows/ci.yml:195
- These steps are skipped whenever
Check merged coveragefails. A suite can pass while coverage is below 100%, so the runtime data from that run is still valid; skipping the merge/save leaves the cache stale and makes later runs use old distribution timings. Run both timing steps withif: always()(or place them before the coverage check).
- name: Merge spec runtimes
run: |
mkdir -p tmp
cat parts/*/tmp/parallel_runtime_rspec.log > tmp/parallel_runtime_rspec.log
- name: Save spec runtimes
uses: actions/cache/save@v4
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # --group-by runtime reads the log without a rescue, so it must exist | ||
| mkdir -p tmp && touch tmp/parallel_runtime_rspec.log | ||
| bin/parallel_rspec spec engines -n 6 \ | ||
| --group-by runtime --allowed-missing 100 --only-group ${{ matrix.groups }} |
digitaltom
enabled auto-merge
September 10, 2026 15:39
digitaltom
disabled auto-merge
September 10, 2026 15:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.