Skip to content

Scope Rust CI to affected packages - #56

Merged
proerror77 merged 1 commit into
mainfrom
codex/ci-rust-scope-selector
Jul 16, 2026
Merged

Scope Rust CI to affected packages#56
proerror77 merged 1 commit into
mainfrom
codex/ci-rust-scope-selector

Conversation

@proerror77

@proerror77 proerror77 commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • derive Rust validation scope from changed files plus Cargo path dependencies
  • preserve full validation for main/develop pushes and manual runs
  • keep required job names while skipping provably unrelated PR suites
  • test collector, control-only, live, docs, deletion, and rename cases

Expected impact

A collector-only PR keeps Alpha dependents, collector strict Clippy/tests, and control-plane tests, while skipping unrelated live/JSON/Ondo/focused builds. Cold-cache wall time is expected to fall from about 22 minutes to 8-9 minutes.

Verification

  • selector fixture suite passes
  • shellcheck passes
  • workflow YAML parses
  • real cargo metadata selection checked
  • standards/spec review found no remaining P1/P2

Summary by CodeRabbit

  • New Features

    • Added change-aware Rust CI validation that runs only the relevant checks for modified areas.
    • Added manual workflow triggering support.
    • Added dependency-aware detection for impacted Rust packages.
  • Bug Fixes

    • Improved CI handling for file additions, deletions, and renames.
  • Tests

    • Added coverage for CI scope selection across common change scenarios.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

No new commits to review since the last review.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3decc493-0404-444c-aadb-97b803fbb163

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The pull request adds a Bash selector that determines affected Rust CI scopes from events, changed paths, and workspace dependencies. Fixtures and tests cover scope combinations and rename/deletion cases, while the workflow conditionally runs Rust setup, validation, and build steps.

Changes

Rust CI scope selection

Layer / File(s) Summary
Event and path routing
.github/scripts/select-rust-ci-scope.sh
Parses selector inputs, handles non-PR events, derives changed paths, and applies broad or deployment-specific scope rules.
Dependency impact and scope mapping
.github/scripts/select-rust-ci-scope.sh
Loads Cargo metadata, identifies affected packages, propagates dependent impact, maps packages to validation scopes, and emits outputs.
Fixture and edge-case validation
.github/scripts/fixtures/rust-ci-scope/*, .github/scripts/test-select-rust-ci-scope.sh
Adds changed-path and package metadata fixtures and tests collector, live, control, docs, deletion, and rename scenarios.
Conditional workflow execution
.github/workflows/ci.yml
Invokes scope selection and gates Rust setup, caching, validation, and focused package builds on emitted flags.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant GitHubActions
  participant ScopeSelector
  participant Git
  participant Cargo
  participant RustChecks
  GitHubActions->>ScopeSelector: pass event and commit inputs
  ScopeSelector->>Git: derive changed paths
  ScopeSelector->>Cargo: read workspace metadata
  ScopeSelector-->>GitHubActions: emit validation scope flags
  GitHubActions->>RustChecks: run enabled checks
Loading

Possibly related PRs

  • proerror77/monday#29: Adds the collector control-plane validation step whose execution is gated by these scope flags.
  • proerror77/monday#34: Adds the Polymarket raw-ops control-plane validation governed by the updated CI scope selection.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: scoping Rust CI to affected packages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/ci-rust-scope-selector

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.

@proerror77
proerror77 marked this pull request as ready for review July 16, 2026 03:51
@proerror77

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@proerror77
proerror77 merged commit f18af3d into main Jul 16, 2026
17 checks passed
@proerror77
proerror77 deleted the codex/ci-rust-scope-selector branch July 16, 2026 08:19
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.

1 participant