Cleanup ci.yaml matrix usage by ShaharNaveh · Pull Request #7260 · RustPython/RustPython
Note
Reviews paused
It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.
Use the following commands to manage reviews:
@coderabbitai resumeto resume automatic reviews.@coderabbitai reviewto trigger a single review.
Use the checkboxes below for quick actions:
-
▶️ Resume reviews - 🔍 Trigger review
No actionable comments were generated in the recent review. 🎉
ℹ️ Recent review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
Run ID: 6eb712f2-1f5e-4439-8235-a6c7206bd08a
📒 Files selected for processing (1)
.github/workflows/ci.yaml
📝 Walkthrough
Walkthrough
Replaces OS-specific test/skip/env handling in .github/workflows/ci.yaml with a matrix-driven job configuration that embeds per-entry os, skips, env_polluting_tests, extra_test_args, and timeout, and consolidates test and env-polluter steps into unified, matrix-aware steps.
Changes
| Cohort / File(s) | Summary |
|---|---|
CI workflow (matrix-driven) .github/workflows/ci.yaml |
Replaced hard-coded OS-specific skip/env variables with a matrix.include that defines per-entry os, skips, env_polluting_tests, extra_test_args, and timeout; unified platform-independent/dependent test steps to use matrix.*; removed global WINDOWS_SKIPS and ENV_POLLUTING_TESTS_* variables; consolidated setup, caching, and messaging around the matrix flow. |
Sequence Diagram(s)
sequenceDiagram
rect rgba(200,230,255,0.5)
participant GH as GitHub Actions
participant Matrix as Job Matrix
participant Runner as OS Runner
participant Steps as Job Steps
end
GH->>Matrix: expand matrix.include (os, skips, env_polluting_tests, extra_test_args, timeout)
Matrix->>Runner: select runner for matrix.os
Runner->>Steps: execute unified job with matrix.* values
Steps->>Steps: run platform-independent tests (matrix.extra_test_args)
Steps->>Steps: run platform-dependent tests excluding matrix.skips
Steps->>Steps: run env-polluter checks using matrix.env_polluting_tests
Steps-->>Runner: return results
Runner-->>GH: report completion
Estimated code review effort
🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
- Use matrix for
cargo check#7388: Similar changes to.github/workflows/ci.yaml, converting per-OS conditional steps into matrix-driven CI entries. - Restructure CI with matrix approach and multi-feature support #7376: Overlapping refactor that converts OS-specific CI branches into a matrix-driven workflow.
Suggested reviewers
- youknowone
Poem
🐇 I hopped through YAML, neat and spry,
Matrix entries lined up under one sky,
Tests now march with shared commands,
No more scattered OS-specific strands,
A joyful thump — CI leaps high!
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | The title 'Cleanup ci.yaml matrix usage' is directly related to the main change, which refactors CI workflow to use matrix-driven job configuration instead of hard-coded platform-specific blocks. |
| 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
📝 Coding Plan
- Generate coding plan for human review comments
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.