-
-
Notifications
You must be signed in to change notification settings - Fork 35k
Conversation
Enabling Temporal support requires cargo and rustc, which are new build toolchain requirements.
Add a --v8-disable-temporal-support option to configure.py to explicitly opt-out of Temporal support (i.e. no need for Rust).
If the existing --v8-enable-temporal-support option is not explicitly passed to configure.py:
- Attempt to detect
cargoandrustc. - If neither
cargoandrustcare detected, print a warning and disable Temporal support. - If both
cargoandrustcare detected, enable Temporal support.
If --v8-enable-temporal-support is passed to configure.py, then the build will error and stop if cargo and/or rustc are not detected.
To avoid ambiguity, configure.py will error and stop if both --v8-disable-temporal-support and --v8-enable-temporal-support are used.
Fixes: #57127
Blocked on either of the V8 updates (14.4 or 14.5) landing first.
Autodetecting this way allows us to roll out Rust onto the CI machines gradually (the aim is for Node.js 26).
build toolchain requirements.
Add a `--v8-disable-temporal-support` option to `configure.py` to
explicitly opt-out of Temporal support (i.e. no need for Rust).
If the existing `--v8-enable-temporal-support` option is not explicitly
passed to `configure.py`:
- Attempt to detect `cargo` and `rustc`.
- If neither `cargo` and `rustc` are detected, print a warning and
disable Temporal support.
- If both `cargo` and `rustc` are detected, enable Temporal support.
If `--v8-enable-temporal-support` is passed to `configure.py`, then
the build will error and stop if `cargo` and/or `rustc` are not
detected.
To avoid ambiguity, `configure.py` will error and stop if both
`--v8-disable-temporal-support` and `--v8-enable-temporal-support` are
used.
Does it mean that we might inadvertently introduce or remove Temporal in releases by touching release machines (i.e. after system updates)? |
A regular system update should not put either cargo or rustc on it if it is not already there (at least on a Linux distribution) but a system upgrade might. If consensus is to remove the autodetection (i.e. the default build will fail in environments where rust is not available) then enabling Temporal in Node.js by default will be blocked until all of the test and release infrastructure for Node.js 26 is updated. |
|
Can we specify |
It can be done but the job is generic for all release lines so would be a little untidy (basically a conditional based on the major version as otherwise |
mcollina
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
|
The
notable-change
Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section. |
|
(Removing unnecessary labels I added earlier, given that this is already |