From 6f6361ea38cac45e6d103dccfb93ee79e83d0fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sat, 6 Sep 2025 12:27:38 +0200 Subject: [PATCH] ansible: update Alpine containers - Add Clang 19 - Add latest Alpine 3.22 - Remove old configs that were deleted from Jenkins Refs: https://github.com/nodejs/build/issues/4091 Closes: https://github.com/nodejs/build/issues/4141 --- .../docker/templates/alpine315.Dockerfile.j2 | 63 ------------------- .../docker/templates/alpine318.Dockerfile.j2 | 63 ------------------- .../docker/templates/alpine321.Dockerfile.j2 | 3 +- ....Dockerfile.j2 => alpine322.Dockerfile.j2} | 5 +- jenkins/scripts/select-compiler.sh | 7 +++ 5 files changed, 12 insertions(+), 129 deletions(-) delete mode 100644 ansible/roles/docker/templates/alpine315.Dockerfile.j2 delete mode 100644 ansible/roles/docker/templates/alpine318.Dockerfile.j2 rename ansible/roles/docker/templates/{alpine319.Dockerfile.j2 => alpine322.Dockerfile.j2} (96%) diff --git a/ansible/roles/docker/templates/alpine315.Dockerfile.j2 b/ansible/roles/docker/templates/alpine315.Dockerfile.j2 deleted file mode 100644 index 8ca25f9a9..000000000 --- a/ansible/roles/docker/templates/alpine315.Dockerfile.j2 +++ /dev/null @@ -1,63 +0,0 @@ -FROM alpine:3.15 - -ENV LC_ALL C -ENV USER {{ server_user }} -ENV JOBS {{ server_jobs | default(ansible_processor_vcpus) }} -ENV SHELL /bin/bash -ENV HOME /home/{{ server_user }} -ENV PATH /usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV NODE_COMMON_PIPE /home/{{ server_user }}/test.pipe -ENV NODE_TEST_DIR /home/{{ server_user }}/tmp -ENV OSTYPE linux-gnu -ENV OSVARIANT docker -ENV DESTCPU {{ arch }} -ENV ARCH {{ arch }} - -RUN apk add --no-cache --upgrade apk-tools - -RUN apk add --no-cache libstdc++ - -RUN apk add --no-cache --virtual .build-deps \ - shadow \ - binutils-gold \ - curl \ - g++ \ - gcc \ - gnupg \ - libgcc \ - linux-headers \ - make \ - python3 \ - tar \ - ccache \ - openjdk17 \ - git \ - procps \ - openssh-client-default \ - py3-pip \ - bash \ - automake \ - libtool \ - autoconf - -RUN pip3 install tap2junit=={{ tap2junit_version }} - -RUN addgroup -g {{ server_user_gid.stdout_lines[0] }} {{ server_user }} - -RUN adduser -G {{ server_user }} -D -u {{ server_user_uid.stdout_lines[0] }} {{ server_user }} - -RUN ln -s /usr/bin/python3 /usr/local/bin/python - -VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache - -USER iojs:iojs - -ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }} - -CMD cd /home/iojs \ - && curl https://ci.nodejs.org/jnlpJars/agent.jar -O \ - && java -Xmx{{ server_ram|default('128m') }} \ - -jar /home/{{ server_user }}/agent.jar \ - -url {{ jenkins_url }} \ - -name {{ item.name }} \ - -secret {{ item.secret }} diff --git a/ansible/roles/docker/templates/alpine318.Dockerfile.j2 b/ansible/roles/docker/templates/alpine318.Dockerfile.j2 deleted file mode 100644 index 1b7235d9f..000000000 --- a/ansible/roles/docker/templates/alpine318.Dockerfile.j2 +++ /dev/null @@ -1,63 +0,0 @@ -FROM alpine:3.18 - -ENV LC_ALL C -ENV USER {{ server_user }} -ENV JOBS {{ server_jobs | default(ansible_processor_vcpus) }} -ENV SHELL /bin/bash -ENV HOME /home/{{ server_user }} -ENV PATH /usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV NODE_COMMON_PIPE /home/{{ server_user }}/test.pipe -ENV NODE_TEST_DIR /home/{{ server_user }}/tmp -ENV OSTYPE linux-gnu -ENV OSVARIANT docker -ENV DESTCPU {{ arch }} -ENV ARCH {{ arch }} - -RUN apk add --no-cache --upgrade apk-tools - -RUN apk add --no-cache libstdc++ - -RUN apk add --no-cache --virtual .build-deps \ - shadow \ - binutils-gold \ - curl \ - g++ \ - gcc \ - gnupg \ - libgcc \ - linux-headers \ - make \ - python3 \ - tar \ - ccache \ - openjdk17 \ - git \ - procps \ - openssh-client-default \ - py3-pip \ - bash \ - automake \ - libtool \ - autoconf - -RUN pip3 install tap2junit=={{ tap2junit_version }} - -RUN addgroup -g {{ server_user_gid.stdout_lines[0] }} {{ server_user }} - -RUN adduser -G {{ server_user }} -D -u {{ server_user_uid.stdout_lines[0] }} {{ server_user }} - -RUN ln -s /usr/bin/python3 /usr/local/bin/python - -VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache - -USER iojs:iojs - -ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }} - -CMD cd /home/iojs \ - && curl https://ci.nodejs.org/jnlpJars/agent.jar -O \ - && java -Xmx{{ server_ram|default('128m') }} \ - -jar /home/{{ server_user }}/agent.jar \ - -url {{ jenkins_url }} \ - -name {{ item.name }} \ - -secret {{ item.secret }} diff --git a/ansible/roles/docker/templates/alpine321.Dockerfile.j2 b/ansible/roles/docker/templates/alpine321.Dockerfile.j2 index 1c63138e1..43a07ae33 100644 --- a/ansible/roles/docker/templates/alpine321.Dockerfile.j2 +++ b/ansible/roles/docker/templates/alpine321.Dockerfile.j2 @@ -21,6 +21,7 @@ RUN apk add --no-cache --virtual .build-deps \ shadow \ binutils-gold \ curl \ + clang19 \ g++ \ gcc \ gnupg \ @@ -32,7 +33,7 @@ RUN apk add --no-cache --virtual .build-deps \ ccache \ openjdk21 \ git \ - procps \ + procps-ng \ openssh-client-default \ py3-pip \ bash \ diff --git a/ansible/roles/docker/templates/alpine319.Dockerfile.j2 b/ansible/roles/docker/templates/alpine322.Dockerfile.j2 similarity index 96% rename from ansible/roles/docker/templates/alpine319.Dockerfile.j2 rename to ansible/roles/docker/templates/alpine322.Dockerfile.j2 index edc6f1bba..43a07ae33 100644 --- a/ansible/roles/docker/templates/alpine319.Dockerfile.j2 +++ b/ansible/roles/docker/templates/alpine322.Dockerfile.j2 @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:3.21 ENV LC_ALL C ENV USER {{ server_user }} @@ -21,6 +21,7 @@ RUN apk add --no-cache --virtual .build-deps \ shadow \ binutils-gold \ curl \ + clang19 \ g++ \ gcc \ gnupg \ @@ -32,7 +33,7 @@ RUN apk add --no-cache --virtual .build-deps \ ccache \ openjdk21 \ git \ - procps \ + procps-ng \ openssh-client-default \ py3-pip \ bash \ diff --git a/jenkins/scripts/select-compiler.sh b/jenkins/scripts/select-compiler.sh index 0159d5599..cb4f7d42b 100644 --- a/jenkins/scripts/select-compiler.sh +++ b/jenkins/scripts/select-compiler.sh @@ -57,6 +57,13 @@ if [ "$NODEJS_MAJOR_VERSION" -ge "25" ]; then echo "Compiler set to Clang" `${CXX} -dumpversion` return ;; + *alpine*) + echo "Using Clang for Node.js $NODEJS_MAJOR_VERSION" + export CC="ccache clang" + export CXX="ccache clang++" + echo "Compiler set to Clang" `${CXX} -dumpversion` + return + ;; esac fi