X Tutup
Skip to content

Unified action for installing Linux deps#7381

Merged
youknowone merged 4 commits intoRustPython:mainfrom
ShaharNaveh:ci-install-linux-deps
Mar 8, 2026
Merged

Unified action for installing Linux deps#7381
youknowone merged 4 commits intoRustPython:mainfrom
ShaharNaveh:ci-install-linux-deps

Conversation

@ShaharNaveh
Copy link
Contributor

@ShaharNaveh ShaharNaveh commented Mar 7, 2026

Followup on #7379

Summary by CodeRabbit

  • Chores
    • Centralized Linux build dependency installation in CI into a reusable composite action, replacing inline apt-get steps across jobs.
    • Jobs can now request specific toolsets (multilib, musl, cross‑compiler, clang) via flags, enabling conditional package installation per job and reducing duplication.
    • Minor CI formatting tweak with no functional impact.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 7, 2026

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: 221eabc0-0af7-4a9f-b3c6-8ac106138e87

📥 Commits

Reviewing files that changed from the base of the PR and between 7bb83b0 and 11f1af7.

📒 Files selected for processing (1)
  • .github/actions/install-linux-deps/action.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/actions/install-linux-deps/action.yml

📝 Walkthrough

Walkthrough

Adds a new composite GitHub Action at .github/actions/install-linux-deps/action.yml to conditionally install Linux packages via boolean inputs, and refactors .github/workflows/ci.yaml to replace inline apt-get installs with calls to that action in relevant CI jobs.

Changes

Cohort / File(s) Summary
New composite action
.github/actions/install-linux-deps/action.yml
Adds a composite GitHub Action exposing boolean inputs (gcc-multilib, musl-tools, gcc-aarch64-linux-gnu, clang) and a shell step that conditionally constructs an apt-get package list and runs sudo apt-get update + sudo apt-get install --no-install-recommends when inputs are true.
CI workflow updates
.github/workflows/ci.yaml
Replaces inline sudo apt-get update/install steps with uses: ./.github/actions/install-linux-deps invocations in multiple jobs (x86 32bit, aarch64, wasm-wasi), passing feature flags; minor whitespace adjustment near Wasmer setup.

Sequence Diagram(s)

sequenceDiagram
  participant Workflow as "CI Workflow Job"
  participant Action as "install-linux-deps Action"
  participant Runner as "Runner / Shell"
  participant Apt as "apt-get (system)"

  Workflow->>Action: uses ./.github/actions/install-linux-deps with flags
  Action->>Runner: execute composite shell step
  Runner->>Apt: sudo apt-get update
  Runner->>Apt: sudo apt-get install --no-install-recommends <conditional pkgs>
  Apt-->>Runner: packages installed
  Runner-->>Action: step completes
  Action-->>Workflow: action finished
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • youknowone

Poem

🐰 I tumbled through CI with a twitchy nose,

One tiny action where the package list grows.
Flags like little carrots, picked when they're due,
Now installs are tidy — compact and true. 🥕

🚥 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 'Unified action for installing Linux deps' directly and clearly summarizes the main change: creating a centralized GitHub Action to consolidate Linux dependency installation across multiple CI jobs.
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

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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/ci.yaml:
- Around line 219-224: The workflow references the wrong local action path
"./.github/actions/install-linux/deps" which will fail; update all occurrences
of that uses: string (the three places in the file) to point to the actual
action directory name "./.github/actions/install-linux-deps" (matching the
folder/action.yml file), i.e., replace the hyphen-mismatched path used in the
steps that install gcc-multilib and musl-tools so GitHub Actions can locate the
action.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: fc4c84d1-9de0-4359-9b6c-9c5b1fbf2d9e

📥 Commits

Reviewing files that changed from the base of the PR and between f680f8a and 5f4e4a2.

📒 Files selected for processing (2)
  • .github/actions/install-linux-deps/action.yml
  • .github/workflows/ci.yaml

@youknowone youknowone merged commit e669944 into RustPython:main Mar 8, 2026
11 of 13 checks passed
youknowone pushed a commit to youknowone/RustPython that referenced this pull request Mar 8, 2026
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

X Tutup