Cleanup ci.yaml matrix usage by ShaharNaveh · Pull Request #7260 · RustPython/RustPython

📝 Walkthrough

Walkthrough

Refactors .github/workflows/ci.yaml to replace OS-specific skip/env variables with a matrix-driven job matrix (per-entry os, skips, PLATFORM_INDEPENDENT_TESTS, env_polluting_tests, timeout) and consolidates test and env-polluter steps into matrix-aware executions.

Changes

Cohort / File(s) Summary
CI workflow (matrix-driven)
.github/workflows/ci.yaml
Converted OS-specific skip/env branches into a matrix.include configuration providing per-entry skips, PLATFORM_INDEPENDENT_TESTS, env_polluting_tests, and timeout; unified platform-independent and platform-dependent test steps to use matrix.* values; removed WINDOWS_SKIPS and global ENV_POLLUTING_* variables; consolidated messaging and timeouts.

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 Shell as Job Steps
    end
    GH->>Matrix: expand matrix.include (os, skips, PLATFORM_INDEPENDENT_TESTS, env_polluting_tests, timeout)
    Matrix->>Runner: select runner for entry (linux/macos/windows)
    Runner->>Shell: execute unified job steps with matrix.* args
    Shell->>Shell: run platform-independent tests (matrix.PLATFORM_INDEPENDENT_TESTS)
    Shell->>Shell: run platform-dependent tests excluding matrix.skips
    Shell->>Shell: run env-polluter checks using matrix.env_polluting_tests
    Shell-->>Runner: return results
    Runner-->>GH: report completion
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • youknowone

Poem

🐇 I hopped through YAML, tidy and spry,

Matrix paths set under one sky,
Tests now march in tidy rows,
No more scattered OS-posed woes,
A happy thump — CI's reply!

🚥 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' clearly and specifically identifies the main change: refactoring GitHub Actions CI workflow to improve matrix definition and usage patterns.
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.

❤️ Share

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