From c4a0bc7934bfce986e6816ed89df7a85a9d2af78 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Wed, 2 Sep 2026 22:58:20 +0200 Subject: [PATCH 1/2] feat: add new architectures --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ Cross.toml | 9 +++++++++ about.toml | 3 +++ deny.toml | 3 +++ npm/scripts/build-native.js | 3 +++ 5 files changed, 44 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56c38b6..be02481 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,6 +77,7 @@ jobs: artifact_features: '--no-default-features --features "tokio pac-engine-wasmtime"' use_cross: true run_tests: true + # Linux musl x86_64 + aarch64 via cross. The addon is cross-built but # cannot be loaded by the glibc Node runtime on the hosted runner. - name: linux musl x86_64 @@ -95,6 +96,7 @@ jobs: use_cross: true build_cross_addon: true run_tests: true + # Linux armv7: no Wasmtime (no Cranelift backend for 32-bit ARM); # native + wasm2c, and the shipped artifact uses the wasm2c sandbox. - name: linux armv7 @@ -104,6 +106,30 @@ jobs: artifact_features: '--no-default-features --features "tokio pac-engine-wasm2c"' use_cross: true run_tests: true + + - name: linux riscv64 + os: ubuntu-latest + target: riscv64gc-unknown-linux-gnu + features: '--no-default-features --features "tokio pac-engine pac-engine-wasmtime pac-engine-wasm2c"' + artifact_features: '--no-default-features --features "tokio pac-engine-wasmtime"' + use_cross: true + run_tests: true + + - name: linux loong64 + os: ubuntu-latest + target: loongarch64-unknown-linux-gnu + features: '--no-default-features --features "tokio pac-engine pac-engine-wasmtime pac-engine-wasm2c"' + artifact_features: '--no-default-features --features "tokio pac-engine-wasmtime"' + use_cross: true + run_tests: true + + - name: linux ppc64le + os: ubuntu-latest + target: powerpc64le-unknown-linux-gnu + features: '--no-default-features --features "tokio pac-engine pac-engine-wasmtime pac-engine-wasm2c"' + artifact_features: '--no-default-features --features "tokio pac-engine-wasmtime"' + use_cross: true + run_tests: true steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 diff --git a/Cross.toml b/Cross.toml index acf8500..1340ce8 100644 --- a/Cross.toml +++ b/Cross.toml @@ -33,3 +33,12 @@ image = "ghcr.io/cross-rs/aarch64-unknown-linux-musl:0.2.5" [target.armv7-unknown-linux-gnueabihf] image = "ghcr.io/cross-rs/armv7-unknown-linux-gnueabihf:0.2.5" + +[target.riscv64gc-unknown-linux-gnu] +image = "ghcr.io/cross-rs/riscv64gc-unknown-linux-gnu:0.2.5" + +[target.loongarch64-unknown-linux-gnu] +image = "ghcr.io/cross-rs/loongarch64-unknown-linux-gnu:0.2.5" + +[target.powerpc64le-unknown-linux-gnu] +image = "ghcr.io/cross-rs/powerpc64le-unknown-linux-gnu:0.2.5" \ No newline at end of file diff --git a/about.toml b/about.toml index a848216..cc98aca 100644 --- a/about.toml +++ b/about.toml @@ -34,6 +34,9 @@ targets = [ "x86_64-unknown-linux-musl", "aarch64-unknown-linux-musl", "armv7-unknown-linux-gnueabihf", + "riscv64gc-unknown-linux-gnu", + "loongarch64-unknown-linux-gnu", + "powerpc64le-unknown-linux-gnu", ] # Don't emit notices for this crate itself; it's covered by LICENSE.txt. diff --git a/deny.toml b/deny.toml index c5bf8b2..a76d7f0 100644 --- a/deny.toml +++ b/deny.toml @@ -19,6 +19,9 @@ targets = [ "x86_64-unknown-linux-musl", "aarch64-unknown-linux-musl", "armv7-unknown-linux-gnueabihf", + "riscv64gc-unknown-linux-gnu", + "loongarch64-unknown-linux-gnu", + "powerpc64le-unknown-linux-gnu", ] all-features = true diff --git a/npm/scripts/build-native.js b/npm/scripts/build-native.js index 92bbf4d..3ec5b26 100644 --- a/npm/scripts/build-native.js +++ b/npm/scripts/build-native.js @@ -13,6 +13,9 @@ const targets = { 'aarch64-unknown-linux-musl': ['linux-arm64-musl', 'libos_proxy_resolver_node.so'], 'x86_64-unknown-linux-gnu': ['linux-x64-gnu', 'libos_proxy_resolver_node.so'], 'x86_64-unknown-linux-musl': ['linux-x64-musl', 'libos_proxy_resolver_node.so'], + 'riscv64gc-unknown-linux-gnu': ['linux-riscv64-gnu', 'libos_proxy_resolver_node.so'], + 'loongarch64-unknown-linux-gnu': ['linux-loong64-gnu', 'libos_proxy_resolver_node.so'], + 'powerpc64le-unknown-linux-gnu': ['linux-ppc64le-gnu', 'libos_proxy_resolver_node.so'], 'aarch64-pc-windows-msvc': ['win32-arm64-msvc', 'os_proxy_resolver_node.dll'], 'x86_64-pc-windows-msvc': ['win32-x64-msvc', 'os_proxy_resolver_node.dll'], }; From 170e20dff664f04c8f6902269c40febc9958edd4 Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Thu, 3 Sep 2026 00:23:54 +0200 Subject: [PATCH 2/2] fix: switch loong64 to musl --- .github/workflows/ci.yml | 2 +- Cross.toml | 4 ++-- about.toml | 2 +- deny.toml | 2 +- npm/scripts/build-native.js | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be02481..10bb8eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,7 +117,7 @@ jobs: - name: linux loong64 os: ubuntu-latest - target: loongarch64-unknown-linux-gnu + target: loongarch64-unknown-linux-musl features: '--no-default-features --features "tokio pac-engine pac-engine-wasmtime pac-engine-wasm2c"' artifact_features: '--no-default-features --features "tokio pac-engine-wasmtime"' use_cross: true diff --git a/Cross.toml b/Cross.toml index 1340ce8..7b9c938 100644 --- a/Cross.toml +++ b/Cross.toml @@ -37,8 +37,8 @@ image = "ghcr.io/cross-rs/armv7-unknown-linux-gnueabihf:0.2.5" [target.riscv64gc-unknown-linux-gnu] image = "ghcr.io/cross-rs/riscv64gc-unknown-linux-gnu:0.2.5" -[target.loongarch64-unknown-linux-gnu] -image = "ghcr.io/cross-rs/loongarch64-unknown-linux-gnu:0.2.5" +[target.loongarch64-unknown-linux-musl] +image = "ghcr.io/cross-rs/loongarch64-unknown-linux-musl:0.2.5" [target.powerpc64le-unknown-linux-gnu] image = "ghcr.io/cross-rs/powerpc64le-unknown-linux-gnu:0.2.5" \ No newline at end of file diff --git a/about.toml b/about.toml index cc98aca..f461135 100644 --- a/about.toml +++ b/about.toml @@ -35,7 +35,7 @@ targets = [ "aarch64-unknown-linux-musl", "armv7-unknown-linux-gnueabihf", "riscv64gc-unknown-linux-gnu", - "loongarch64-unknown-linux-gnu", + "loongarch64-unknown-linux-musl", "powerpc64le-unknown-linux-gnu", ] diff --git a/deny.toml b/deny.toml index a76d7f0..7eaa0df 100644 --- a/deny.toml +++ b/deny.toml @@ -20,7 +20,7 @@ targets = [ "aarch64-unknown-linux-musl", "armv7-unknown-linux-gnueabihf", "riscv64gc-unknown-linux-gnu", - "loongarch64-unknown-linux-gnu", + "loongarch64-unknown-linux-musl", "powerpc64le-unknown-linux-gnu", ] all-features = true diff --git a/npm/scripts/build-native.js b/npm/scripts/build-native.js index 3ec5b26..1a6e649 100644 --- a/npm/scripts/build-native.js +++ b/npm/scripts/build-native.js @@ -14,7 +14,7 @@ const targets = { 'x86_64-unknown-linux-gnu': ['linux-x64-gnu', 'libos_proxy_resolver_node.so'], 'x86_64-unknown-linux-musl': ['linux-x64-musl', 'libos_proxy_resolver_node.so'], 'riscv64gc-unknown-linux-gnu': ['linux-riscv64-gnu', 'libos_proxy_resolver_node.so'], - 'loongarch64-unknown-linux-gnu': ['linux-loong64-gnu', 'libos_proxy_resolver_node.so'], + 'loongarch64-unknown-linux-musl': ['linux-loong64-musl', 'libos_proxy_resolver_node.so'], 'powerpc64le-unknown-linux-gnu': ['linux-ppc64le-gnu', 'libos_proxy_resolver_node.so'], 'aarch64-pc-windows-msvc': ['win32-arm64-msvc', 'os_proxy_resolver_node.dll'], 'x86_64-pc-windows-msvc': ['win32-x64-msvc', 'os_proxy_resolver_node.dll'],