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. All changes are additive and isolated to the new riscv64 platform target; no existing build paths are altered. The new matrix entry, platform package, and dependency wiring all mirror the proven linux-arm64-gnu pattern with only the necessary deviations (system GCC instead of napi-cross, explicit linker env vars). No existing targets, build steps, or publish logic are changed. No files require special attention. Reviews (3): Last reviewed commit: "Merge branch 'tailwindlabs:main' into ri..." | 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.