Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,10 @@ jobs:
if [ "${{ runner.os }}" = "Linux" ]; then
native_node="$(find "smoke/${{ matrix.package }}" -name '*.node' -print -quit)"
file "$native_node"
if strings "$native_node" | grep -q 'GLIBC_'; then
echo "$native_node unexpectedly references glibc symbols" >&2
ldd_output="$(ldd "$native_node" 2>&1 || true)"
echo "$ldd_output"
if echo "$ldd_output" | grep -q 'not found'; then
echo "$native_node has missing runtime libraries" >&2
exit 1
fi
fi
Expand Down
4 changes: 2 additions & 2 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ bazel_dep(name = "aspect_rules_ts", version = "3.8.8")
bazel_dep(name = "rules_nodejs", version = "6.7.4")
bazel_dep(name = "aspect_bazel_lib", version = "2.22.5")

bazel_dep(name = "rules_rs", version = "0.0.82")
bazel_dep(name = "llvm", version = "0.8.3")
bazel_dep(name = "rules_rs", version = "0.0.73")
bazel_dep(name = "llvm", version = "0.8.0")
bazel_dep(name = "with_cfg.bzl", version = "0.14.6")

benchmark_fixture_build_file = """
Expand Down
129 changes: 5 additions & 124 deletions MODULE.bazel.lock

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions crates/codescythe_cli/platforms/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ platform(
parents = ["@rules_rs//rs/platforms:aarch64-apple-darwin"],
)

platform(
name = "linux_amd64",
parents = ["@rules_rs//rs/platforms:x86_64-unknown-linux-gnu"],
)

platform(
name = "linux_arm64",
parents = ["@rules_rs//rs/platforms:aarch64-unknown-linux-gnu"],
)

platform(
name = "linux_amd64_musl",
parents = ["@rules_rs//rs/platforms:x86_64-unknown-linux-musl"],
Expand Down
10 changes: 10 additions & 0 deletions crates/codescythe_cli/release_binary.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,13 @@ release_binary_linux_arm64, _release_binary_linux_arm64_internal = _release_bina
"//crates/codescythe_cli/platforms:linux_arm64_musl",
"linux_aarch64",
)

release_binary_linux_amd64_gnu, _release_binary_linux_amd64_gnu_internal = _release_binary(
"//crates/codescythe_cli/platforms:linux_amd64",
"linux_x86_64",
)

release_binary_linux_arm64_gnu, _release_binary_linux_arm64_gnu_internal = _release_binary(
"//crates/codescythe_cli/platforms:linux_arm64",
"linux_aarch64",
)
8 changes: 0 additions & 8 deletions crates/codescythe_napi/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ load(
"release_node_linux_arm64",
)

config_setting(
name = "linux_musl",
constraint_values = ["@llvm//constraints/libc:musl"],
)

rust_shared_library(
name = "codescythe_napi",
srcs = ["lib.rs"],
Expand All @@ -23,9 +18,6 @@ rust_shared_library(
"@platforms//os:macos": [
"-Clink-arg=-Wl,-undefined,dynamic_lookup",
],
":linux_musl": [
"-Ctarget-feature=-crt-static",
],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
Expand Down
60 changes: 8 additions & 52 deletions crates/codescythe_napi/release_node.bzl
Original file line number Diff line number Diff line change
@@ -1,54 +1,10 @@
load("@with_cfg.bzl", "with_cfg")

_HOSTS = [
"linux_aarch64",
"linux_x86_64",
"macos_aarch64",
"macos_x86_64",
"windows_aarch64",
"windows_x86_64",
]

def _llvm_toolchains(target):
return [
Label("@llvm_toolchains//:bootstrap_%s_to_%s" % (host, target))
for host in _HOSTS
] + [
Label("@llvm_toolchains//:%s_to_%s" % (host, target))
for host in _HOSTS
]

def _release_node(platform, llvm_target):
return with_cfg(
native.genrule,
).set(
"compilation_mode",
"opt",
).set(
"platforms",
[Label(platform)],
).extend(
"extra_toolchains",
_llvm_toolchains(llvm_target),
).set(
Label("@llvm//config:experimental_stub_libgcc_s"),
True,
).set(
Label("@llvm//config/bootstrap:experimental_stub_libgcc_s"),
True,
).build()

release_node_linux_amd64, _release_node_linux_amd64_internal = _release_node(
"//crates/codescythe_napi/platforms:linux_amd64_musl",
"linux_x86_64",
load(
"//crates/codescythe_cli:release_binary.bzl",
"release_binary_darwin_arm64",
"release_binary_linux_amd64_gnu",
"release_binary_linux_arm64_gnu",
)

release_node_linux_arm64, _release_node_linux_arm64_internal = _release_node(
"//crates/codescythe_napi/platforms:linux_arm64_musl",
"linux_aarch64",
)

release_node_darwin_arm64, _release_node_darwin_arm64_internal = _release_node(
"//crates/codescythe_napi/platforms:darwin_arm64",
"macos_aarch64",
)
release_node_darwin_arm64 = release_binary_darwin_arm64
release_node_linux_amd64 = release_binary_linux_amd64_gnu
release_node_linux_arm64 = release_binary_linux_arm64_gnu
Loading