-
-
Notifications
You must be signed in to change notification settings - Fork 307
ci: fixes for RISC-V #1890
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: fixes for RISC-V #1890
Conversation
The SiFive GitHub organization now deploys an IP allowlist which blocked GitHub Actions, which makes this test always fail. In addition, this is a quite different test than other non-x86 tests. Drop it now. Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Similar to the GCC one, this test target uses system toolchain and QEMU too. Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
WalkthroughThe changes update the CI configuration and toolchain settings for RISC-V targets. Two new jobs—“Ubuntu GCC RISC-V” and “Ubuntu Clang RISC-V”—have been added to the GitHub Actions workflow. The older Clang job and its related download step for a prebuilt toolchain and QEMU have been removed. Additionally, a new CMake toolchain file for Clang-based RISC-V builds has been introduced and the existing toolchain file for GCC-based builds has been streamlined by removing redundant checks and directly detecting compilers. Changes
Sequence Diagram(s)sequenceDiagram
participant CI as CI Runner
participant ENV as Ubuntu Environment
participant BUILD as Build Process
CI->>ENV: Trigger "Ubuntu GCC RISC-V" Job
ENV->>BUILD: Load gcc toolchain (cmake/toolchain-riscv.cmake)
BUILD->>ENV: Install packages (qemu-user, crossbuild-essential-riscv64)
BUILD->>CI: Report build results (with gcov/codecov)
CI->>ENV: Trigger "Ubuntu Clang RISC-V" Job
ENV->>BUILD: Load clang toolchain (cmake/toolchain-riscv-clang.cmake)
BUILD->>ENV: Install packages (qemu-user, crossbuild-essential-riscv64)
BUILD->>CI: Report build results
Suggested labels
Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
⏰ Context from checks skipped due to timeout of 90000ms (54)
🔇 Additional comments (7)
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
Seems like a simplification that relies more heavily on qemu, which is nice. I don't know enough about the platform though. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1890 +/- ##
===========================================
+ Coverage 82.00% 82.67% +0.67%
===========================================
Files 141 138 -3
Lines 12666 12371 -295
Branches 2906 2811 -95
===========================================
- Hits 10387 10228 -159
+ Misses 1290 1216 -74
+ Partials 989 927 -62 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@nmoinvaz It always relies on QEMU -- but I switched from QEMU built (and packaged as tarball) by SiFive (which is already not available to be used in Actions because of restrictions on their GitHub org) to the one shipped by Ubuntu. |
Dead2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Remove the currently broken RISC-V CI flow and add two test targets (GCC and Clang) with toolchain from ubuntu-latest system.
Tests passed with my fixes of RVV-related SIGSEGV -- see https://github.com/Icenowy/zlib-ng/actions/runs/14062430701/job/39376366365 (Clang) and https://github.com/Icenowy/zlib-ng/actions/runs/14054987248/job/39352378603 (GCC) .
Summary by CodeRabbit
New Features
Chores