Skip to content

Add linux-loong64 prebuilt binary#20294

Open
wojiushixiaobai wants to merge 2 commits into
tailwindlabs:mainfrom
wojiushixiaobai:main
Open

Add linux-loong64 prebuilt binary#20294
wojiushixiaobai wants to merge 2 commits into
tailwindlabs:mainfrom
wojiushixiaobai:main

Conversation

@wojiushixiaobai

Copy link
Copy Markdown

Add support for the LoongArch 64-bit architecture.

Signed-off-by: 吴小白 <296015668@qq.com>
@wojiushixiaobai wojiushixiaobai requested a review from a team as a code owner July 1, 2026 08:42
@greptile-apps

greptile-apps Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Reviews (2): Last reviewed commit: "Update crates/node/npm/linux-loong64-gnu..." | Re-trigger Greptile

Comment on lines +71 to +72
target: loongarch64-unknown-linux-gnu
strip: loongarch64-linux-gnu-strip

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 GNU Build Skips Cross Wrapper

When the new loongarch64-unknown-linux-gnu matrix entry reaches build:platform, it runs without the --use-napi-cross flag used by the other Linux GNU cross targets. If napi-rs relies on that wrapper to set cross C toolchain variables, native dependencies can compile for the runner or fail to link, leaving the LoongArch GNU package without a usable binary.

[target.loongarch64-unknown-linux-gnu]
linker = "loongarch64-linux-gnu-gcc"
[target.loongarch64-unknown-linux-musl]
linker = "loongarch64-linux-musl-gcc"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Musl Linker Is Missing

The new musl target tells Cargo to use loongarch64-linux-musl-gcc, but the release workflow only installs the GNU LoongArch compiler and relies on Zig for musl builds. Any build path that honors this linker setting will fail before producing @tailwindcss/oxide-linux-loong64-musl because that executable is not installed.

Comment thread crates/node/npm/linux-loong64-gnu/README.md Outdated
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c2a90a61-2837-4bc8-bb4e-b4588316aa70

📥 Commits

Reviewing files that changed from the base of the PR and between da68918 and 395edb6.

📒 Files selected for processing (1)
  • crates/node/npm/linux-loong64-gnu/README.md
✅ Files skipped from review due to trivial changes (1)
  • crates/node/npm/linux-loong64-gnu/README.md

Walkthrough

This PR adds LoongArch64 Linux support for the native node bindings. It updates the release workflow to build gnu and musl targets, installs the needed GNU toolchain for one target, configures Rust linker settings, adds new npm package manifests and READMEs, registers the new targets in the Node package metadata, and copies the built artifacts into the release package layout.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the main change: adding linux-loong64 prebuilt binaries for LoongArch Linux targets.
Description check ✅ Passed The description is directly related to the change by noting LoongArch 64-bit support.
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.

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/node/npm/linux-loong64-gnu/README.md`:
- Around line 1-3: The README title is using the wrong package identifier;
update the heading in the loong64 README to match the actual package name used
by this binary. Use the existing `@tailwindcss/oxide` loongarch64 description as
context, but change the title from the arm64 variant to
`@tailwindcss/oxide-linux-loong64-gnu` so it is consistent with the package and
the sibling musl README.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a7035baf-ac8e-4e0f-b5b8-3a816b7ce85a

📥 Commits

Reviewing files that changed from the base of the PR and between 056a155 and da68918.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (8)
  • .github/workflows/release.yml
  • crates/node/.cargo/config.toml
  • crates/node/npm/linux-loong64-gnu/README.md
  • crates/node/npm/linux-loong64-gnu/package.json
  • crates/node/npm/linux-loong64-musl/README.md
  • crates/node/npm/linux-loong64-musl/package.json
  • crates/node/package.json
  • scripts/version-packages.mjs

Comment thread crates/node/npm/linux-loong64-gnu/README.md Outdated
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
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