Add riscv64 (linux-gnu) prebuilt binary#20201
Conversation
Add riscv64gc-unknown-linux-gnu to the oxide release matrix so a prebuilt @tailwindcss/oxide-linux-riscv64-gnu package is published. Cross-compiles with gcc-riscv64-linux-gnu (napi-cross does not ship a riscv64 toolchain), mirroring the existing aarch64 entry otherwise. Signed-off-by: Bruno Verachten <gounthar@gmail.com>
Signed-off-by: Bruno Verachten <gounthar@gmail.com>
Confidence Score: 5/5Safe to merge — the change is purely additive, adding a new optional platform binary that existing users do not depend on. All new code follows the established pattern for cross-compiled Linux platform packages. The toolchain installation step is correctly gated, the artifact copy and npm package metadata are consistent with existing targets, and there is no risk to the builds of already-supported platforms. .github/workflows/release.yml — the three cross-compiler env vars are unconditionally present in every matrix job (evaluating to empty string on non-riscv64 targets), which is a style inconsistency already raised in a previous review thread but has no runtime impact. Reviews (2): Last reviewed commit: "ci(oxide): scope riscv64 cross env to th..." | Re-trigger Greptile |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughThis pull request adds support for the RISC-V 64-bit architecture ( 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
Signed-off-by: Bruno Verachten <gounthar@gmail.com>
Adds
riscv64gc-unknown-linux-gnuto the oxide release matrix so a prebuilt@tailwindcss/oxide-linux-riscv64-gnupackage gets published. There is no riscv64 binary today, so on riscv64 Linux boards@tailwindcss/oxidecan't load its native module, and anything pulling Tailwind v4 (the CLI, the Vite plugin, PostCSS) is stuck there.Changes
.github/workflows/release.yml: a new matrix entry mirroring the aarch64 cross entry. napi-cross (@napi-rs/cross-toolchain) doesn't ship a riscv64 toolchain, so this one uses the systemgcc-riscv64-linux-gnuplus the matching linker env instead of--use-napi-cross, and strips withriscv64-linux-gnu-strip.crates/node/package.json: registerriscv64gcinnapi.targetsand add the optionalDependency.crates/node/npm/linux-riscv64-gnu: the new platform package, mirroringlinux-arm64-gnu.pnpm-lock.yaml: the new workspace package.Verification
tailwindcss-oxide.linux-riscv64-gnu.node(ELF 64-bit RISC-V).Scannerexport is there), and runs.One thing worth flagging: napi-cross supports arm/arm64/x64/s390x/ppc64le but not riscv64 yet, which is why this entry uses the system cross toolchain rather than
--use-napi-crosslike your other Linux targets. If you'd rather it followed the napi-cross path once that gains riscv64, or want it done another way, happy to adjust.