Skip to content

split test runs into groups - #888

Merged
digitaltom merged 3 commits into
mainfrom
split_ci_in_groups
Sep 10, 2026
Merged

split test runs into groups#888
digitaltom merged 3 commits into
mainfrom
split_ci_in_groups

Conversation

@digitaltom

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI lite review requested due to automatic review settings September 10, 2026 14:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 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 coverage fails. 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 with if: 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.

Comment thread .github/workflows/ci.yml
# --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
digitaltom disabled auto-merge September 10, 2026 15:58
@digitaltom
digitaltom merged commit ff3ebcb into main Sep 10, 2026
9 checks passed
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