-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
deps: add support of temporal_rs #60703
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Review requested:
|
|
I dont know if its a good idea, |
|
Yeah, I think ultimately (not necessarily to start with if it is opt-in but definitely before it becomes enabled by default) we need a way to be able to build temporal offline (e.g. from the Node.js source tarball). |
|
I agree. It's in the roadmap as the OP mentioned. |
|
Blocked on #60701 to get the v8.gyp change landed first. |
5b1ac50 to
d70962d
Compare
|
Just curious, have you checked the binary size difference? |
For release builds on macOS locally, the size difference between with @marco-ippolito @richardlau @joyeecheung @nodejs/build please take a look again, thanks! |
marco-ippolito
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
8eaa243 could also include the following diff: diff --git a/.github/workflows/test-shared.yml b/.github/workflows/test-shared.yml
index 7558b1633eb..23a8e09f4f1 100644
--- a/.github/workflows/test-shared.yml
+++ b/.github/workflows/test-shared.yml
@@ -22,2 +22,3 @@ on:
- deps/sqlite/**
+ - deps/temporal/**
- deps/uv/**
@@ -53,2 +54,3 @@ on:
- deps/sqlite/**
+ - deps/temporal/**
- deps/uv/**
diff --git a/Makefile b/Makefile
index bccbac90bca..95df702bdd0 100644
--- a/Makefile
+++ b/Makefile
@@ -1235,2 +1235,3 @@ ifeq ($(SKIP_SHARED_DEPS), 1)
$(RM) -r $(TARNAME)/deps/sqlite
+ $(RM) -r $(TARNAME)/deps/temporal
$(RM) -r $(TARNAME)/deps/uvAnd 804c425: diff --git a/shell.nix b/shell.nix
index b22e3d6d11e..faa3446d80c 100644
--- a/shell.nix
+++ b/shell.nix
@@ -33,5 +33,9 @@ pkgs.mkShell {
]
++ devTools
- ++ benchmarkTools;
+ ++ benchmarkTools
+ ++ pkgs.lib.optionals (withTemporal && !builtins.hasAttr "temporal_capi" sharedLibDeps) [
+ pkgs.cargo
+ pkgs.rustc
+ ];
shellHook =Not blocking, can happen in a follow up |
|
temporal_rs uses ICU4X (rust-based components) not ICU4C (the big ICU library we link to for Intl) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #60703 +/- ##
==========================================
- Coverage 88.56% 88.03% -0.53%
==========================================
Files 703 703
Lines 208254 208247 -7
Branches 40156 40075 -81
==========================================
- Hits 184430 183321 -1109
- Misses 15828 16883 +1055
- Partials 7996 8043 +47 🚀 New features to boost your workflow:
|
This comment was marked as outdated.
This comment was marked as outdated.
Co-Authored-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
Landed in 189a0a7...482b191 |
Co-Authored-By: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #60703 Refs: #58730 Refs: #60693 Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Checked in
temporal_rsand build it as a static library with./configure --v8-enable-temporal-support. The dependencies oftemporal_rsare locked withCargo.lock. Temporal is enabled at runtime with cli flag--harmony-temporal.This does not use V8's default temporal_rs checkout from https://chromium.googlesource.com/chromium/src/third_party/rust/ as it contains all the crates that chromium uses, but V8 may not use them.
For follow-ups, the
temporal_capineeds to respect Node's ICU and toolchain settings. Additionally, we may want to force cargo to work in offline mode.Refs: #58730
Refs: #60693