From a2859fc0eb2084efdb644773bd74e94be2c42a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Wed, 10 Sep 2025 16:36:17 +0200 Subject: [PATCH] ansible: introduce Ubuntu 24.04 test runners Start with a single vm from DigitalOcean to test it. Refs: https://github.com/nodejs/build/issues/4144 --- ansible/inventory.yml | 1 + ansible/roles/baselayout/vars/main.yml | 5 +++++ .../tasks/partials/tap2junit/ubuntu2404.yml | 11 +++++++++++ ansible/roles/jenkins-worker/vars/main.yml | 2 +- jenkins/scripts/select-compiler.sh | 7 +++++++ 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 ansible/roles/jenkins-worker/tasks/partials/tap2junit/ubuntu2404.yml diff --git a/ansible/inventory.yml b/ansible/inventory.yml index 55debe5d6..a201c4273 100644 --- a/ansible/inventory.yml +++ b/ansible/inventory.yml @@ -109,6 +109,7 @@ hosts: ubuntu1804-x64-1: {ip: 178.128.181.213} ubuntu2204-x64-1: {ip: 138.197.4.1, swap_file_size_mb: 2048} ubuntu2204-x64-2: {ip: 167.99.124.188, swap_file_size_mb: 2048} + ubuntu2404-x64-1: {ip: 165.227.180.106, swap_file_size_mb: 2048} - ibm: aix72-ppc64_be-1: diff --git a/ansible/roles/baselayout/vars/main.yml b/ansible/roles/baselayout/vars/main.yml index ce909f02a..d4c9af2c7 100644 --- a/ansible/roles/baselayout/vars/main.yml +++ b/ansible/roles/baselayout/vars/main.yml @@ -132,4 +132,9 @@ packages: { ubuntu2204: [ 'gcc,g++,gcc-12,g++-12,python3,python-is-python3', ], + + # Default gcc/g++ package is 13. + ubuntu2404: [ + 'clang-19,gcc,g++,python3,python3-pip,python-is-python3,python3-venv', + ], } diff --git a/ansible/roles/jenkins-worker/tasks/partials/tap2junit/ubuntu2404.yml b/ansible/roles/jenkins-worker/tasks/partials/tap2junit/ubuntu2404.yml new file mode 100644 index 000000000..cd8a0a4c4 --- /dev/null +++ b/ansible/roles/jenkins-worker/tasks/partials/tap2junit/ubuntu2404.yml @@ -0,0 +1,11 @@ +--- + +# +# install tap2junit ubuntu2404 +# + +- name: install tap2junit + pip: + name: tap2junit=={{ tap2junit_version }} + virtualenv: /home/{{ server_user }}/venv + virtualenv_command: python3 -m venv diff --git a/ansible/roles/jenkins-worker/vars/main.yml b/ansible/roles/jenkins-worker/vars/main.yml index 95c41ff75..fc727da08 100644 --- a/ansible/roles/jenkins-worker/vars/main.yml +++ b/ansible/roles/jenkins-worker/vars/main.yml @@ -9,7 +9,7 @@ init: { freebsd: 'freebsd', ibmi: 'ibmi74', macos: 'macos', - systemd: ['debian', 'fedora', 'rhel7', 'rhel8', 'rhel9', 'ubuntu1604', 'ubuntu1804','ubuntu2204'], + systemd: ['debian', 'fedora', 'rhel7', 'rhel8', 'rhel9', 'ubuntu'], svc: 'smartos', zos_start: 'zos' } diff --git a/jenkins/scripts/select-compiler.sh b/jenkins/scripts/select-compiler.sh index cb4f7d42b..b544c9e12 100644 --- a/jenkins/scripts/select-compiler.sh +++ b/jenkins/scripts/select-compiler.sh @@ -64,6 +64,13 @@ if [ "$NODEJS_MAJOR_VERSION" -ge "25" ]; then echo "Compiler set to Clang" `${CXX} -dumpversion` return ;; + *ubuntu2404*) + echo "Using Clang for Node.js $NODEJS_MAJOR_VERSION" + export CC="ccache clang-19" + export CXX="ccache clang++-19" + echo "Compiler set to Clang" `${CXX} -dumpversion` + return + ;; esac fi