Repository navigation
Add rust toolchain to CI machines #4245
Copy link
Copy link
Closed
Labels
Description
Refs: nodejs/node#58730
To support Temporal in Node.js we will need:
- V8 14.4 (or later, e.g. 14.5).
- An appropriate Rust toolchain (including cargo) installed on all machines in Jenkins (test and release) used for Node.js 26.
I think ideally we want to aim for Node.js 26.0.0 but technically enabling Temporal in Node.js could be a semver-minor update.
Tasks
- Discover all machines (and containers) that will need to be updated (FWIW I've started https://ci.nodejs.org/job/node-test-commit/85454/ with
--v8-enable-temporal-supportset asCONFIG_FLAGS). - Update machines/containers.
Machines to update
AIX 7.2
- release-ibm-aix72-ppc64_be-1
- test-ibm-aix72-ppc64_be-1
- test-ibm-aix72-ppc64_be-2
- test-ibm-aix72-ppc64_be-3
Alpine x64
- alpine 3.21 containers
- alpine 3.22 containers
Debian x64
- test-digitalocean-debian13-x64-1
- test-digitalocean-debian13-x64-2
Fedora x64
- test-digitalocean-fedora41-x64-1
- test-digitalocean-fedora41-x64-2
- test-digitalocean-fedora42-x64-1
- test-digitalocean-fedora42-x64-2
macOS 15
- release VMs
- test VMs
RHEL 8 arm64
- release-osuosl-rhel8-arm64-1
- test-azure-rhel8_container-arm64-1
- test-azure-rhel8_container-arm64-2
- test-osuosl-rhel8_container-arm64-1
RHEL 8 ppc64le
- release-osuosl-rhel8-ppc64_le-1
- release-osuosl-rhel8-ppc64_le-2
- test-ibm-rhel8-ppc64_le-1
- test-osuosl-rhel8-ppc64_le-1
- test-osuosl-rhel8-ppc64_le-2
- test-osuosl-rhel8-ppc64_le-3
- test-osuosl-rhel8-ppc64_le-4
- test-osuosl-rhel8-ppc64_le-5
RHEL 8 s390x
- release-ibm-rhel8-s390x-1
- test-ibm-rhel8-s390x-1
- test-ibm-rhel8-s390x-2
- test-ibm-rhel8-s390x-3
- test-ibm-rhel8-s390x-4
RHEL 8 x64
- release-digitalocean-rhel8-x64-1
- release-ibm-rhel8-x64-1
- release-ibm-rhel8-x64-2
- test-digitalocean-rhel8-x64-1
- test-digitalocean-ubi81_container-x64-1
- test-digitalocean-ubi81_container-x64-2
- test-ibm-rhel8-x64-1
- test-ibm-rhel8-x64-2
- test-ibm-rhel8-x64-3
- test-ibm-ubi81_container-x64-1
RHEL 9 ppc64le
- test-ibm-rhel9-ppc64_le-1
- test-osuosl-rhel9-ppc64_le-1
- test-osuosl-rhel9-ppc64_le-2
RHEL 9 s390x
- test-linuxonecc-rhel9-s390x-1
- test-linuxonecc-rhel9-s390x-2
- test-linuxonecc-rhel9-s390x-3
- test-linuxonecc-rhel9-s390x-4
RHEL 9 x64
- test-digitalocean-rhel9-x64-1
- test-ibm-rhel9-x64-1
- test-ibm-rhel9-x64-2
Ubuntu 24.04
Ubuntu's binaries are version suffixed, e.g. cargo-1.82 and will need nodejs/node#62421 as well as select-compiler.sh changes to set CARGO and RUSTC environment variables to point to the binaries.
- test-digitalocean-ubuntu2204_docker-x64-1
- test-digitalocean-ubuntu2204_docker-x64-2
- test-ibm-ubuntu2204_docker-x64-1
- test-azure-ubuntu2404_docker-arm64-1
- test-azure-ubuntu2404_docker-arm64-2
- test-azure-ubuntu2404_docker-arm64-3
- test-digitalocean-ubuntu2404-x64-1
- test-hetzner-ubuntu2404-x64-1
- test-hetzner-ubuntu2404-x64-2
- test-ibm-ubuntu2404-x64-1
- test-osuosl-ubuntu2404_docker-arm64-1
- test-rackspace-ubuntu2404-x64-1
- test-rackspace-ubuntu2404-x64-2
Windows
- test-rackspace-win2022_vs2022-x64-1
- test-rackspace-win2022_vs2022-x64-2
- test-rackspace-win2022_vs2022-x64-3
- test-rackspace-win2022_vs2022-x64-4
- test-rackspace-win2022_vs2022-x64-5
- test-rackspace-win2022_vs2022-x64-6
- release-rackspace-win2022_vs2022-x64-1
- release-rackspace-win2022_vs2022-x64-2
- release-rackspace-win2022_vs2022-x64-3
Reactions are currently unavailable
Activity
ansible: install Rust toolchain on Fedora hosts
targos commentedon Feb 16, 2026
Debian is going to be a problem:
rustc 1.63StefanStojanovic commentedon Mar 6, 2026
Hello @richardlau, I see no Windows machines in the to update list. I just wanted to check with you to make sure that no action is required for Windows.
targos commentedon Mar 6, 2026
@StefanStojanovic the list is "tbc" (I guess it means "to be completed" in this context)
StefanStojanovic commentedon Mar 6, 2026
I agree, but I see there are some unchecked machines (AIX), while none are listed for Windows, so I just wanted to check if it means "don't do anything on Windows", or if they were not added by accident.
targos commentedon Mar 6, 2026
I added Debian and Fedora to the list myself, so I think it's incomplete for now (not by accident)
richardlau commentedon Mar 6, 2026
@StefanStojanovic If you are able, please add the Windows machines that will be used to build Node.js 26 onwards.
StefanStojanovic commentedon Mar 6, 2026
Sure, @targos, I want to check one thing with you first - based on this comment, we'll start moving to VS2026 after v26 release, so only VS2022 machines need to have Rust added, correct? I'll also add it to Ansible for the machines we'll provision in the future.
targos commentedon Mar 6, 2026
That sounds right.
richardlau commentedon Mar 24, 2026
I've started looking at Ubuntu 24.04 (added the machines and notes to the description).
@ryanaslett / @UlisesGascon Would you be able to install cargo and rust onto the macOS VMs?
richardlau commentedon Mar 24, 2026
@targos IBM Cloud also does not have Debian 13 available, which means it looks like we'd need to create all of the Debian 13 machines at DigitalOcean (as we do for e.g. Fedora). Are we thinking of replacing Debian 11 with 13? Perhaps if so we can swap the Debian 11 Rackspace machine for one of the Ubuntu 24.04 machines at DigitalOcean?
targos commentedon Mar 24, 2026
Yes, swapping LGTM
richardlau commentedon Mar 25, 2026
I've opened #4282. I can work on this, but it might be next week (I'm out of office Friday and Monday).
ansible,win: add rust
ansible: install cargo/rustc on Debian and Ubuntu (#4288)
ansible,win: add rust
ansible: add cargo/rust to Alpine containers (#4293)
aix: install rust (#4273)
ansible,win: add rust (#4285)
StefanStojanovic commentedon May 5, 2026
Hey guys, I have a question about updating Rust in the CI. How do we want to approach it? Update it on a regular (eg. daily or weekly) basis to the latest version (similar to how we update most of our tools on Windows), or do it less often and only to certain versions we pre-approve?
targos commentedon May 13, 2026
I'm not familiar enough with Rust to answer. On other platforms, the version has generally been fixed but I don't know if there's a reason for it.
StefanStojanovic commentedon May 19, 2026
I'm fine with that. It's also fixed on Windows (because there is nothing in place to update it). Just wanted to check if it should stay liek that or not.
richardlau commentedon May 21, 2026
Further discussions in #4265 for updating Rust version(s).