Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ansible/inventory.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ hosts:
ubuntu1804_docker-x64-2: {ip: 159.89.183.200}
ubuntu1804-x64-1: {ip: 178.128.181.213}

- equinix:
ubuntu2004_docker-arm64-1: {ip: 145.40.81.219}

- ibm:
aix71-ppc64_be-3:
ip: 169.48.22.38
Expand Down
4 changes: 2 additions & 2 deletions ansible/plugins/inventory/nodejs_yaml.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python3
#!/usr/bin/env /usr/local/bin/python3
# -*- coding: utf-8 -*-

# Copyright Node.js contributors. All rights reserved.
Expand Down Expand Up @@ -46,7 +46,7 @@
'type': ('infra', 'release', 'test'),

# providers - validated for consistency
'provider': ('azure', 'digitalocean', 'ibm', 'iinthecloud', 'joyent',
'provider': ('azure', 'digitalocean', 'equinix', 'ibm', 'iinthecloud', 'joyent',
'linuxonecc', 'macstadium', 'marist', 'mininodes', 'msft',
'nearform', 'orka', 'osuosl', 'packetnet', 'rackspace',
'requireio', 'rzkh', 'scaleway', 'softlayer', 'voxer')
Expand Down
43 changes: 43 additions & 0 deletions ansible/roles/docker/templates/ubuntu2004.Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
FROM ubuntu:18.04

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 x64
ENV ARCH x64

RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y \
ccache \
g++-8 \
gcc-8 \
git \
openjdk-8-jre-headless \
curl \
python3-pip \
libfontconfig1

RUN pip3 install tap2junit

RUN addgroup --gid {{ server_user_gid.stdout_lines[0] }} {{ server_user }}

RUN adduser --gid {{ server_user_gid.stdout_lines[0] }} --uid {{ server_user_uid.stdout_lines[0] }} --disabled-password --gecos {{ server_user }} {{ server_user }}

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/slave.jar -O \
&& java -Xmx{{ server_ram|default('128m') }} \
-jar /home/{{ server_user }}/slave.jar \
-jnlpUrl {{ jenkins_url }}/computer/{{ item.name }}/slave-agent.jnlp \
-secret {{ item.secret }}
108 changes: 108 additions & 0 deletions ansible/roles/docker/templates/ubuntu2004_sharedlibs.Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
FROM ubuntu:18.04

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:/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 x64
ENV ARCH x64
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install apt-utils -y && \
apt-get dist-upgrade -y && apt-get install -y \
ccache \
g++-8 \
gcc-8 \
git \
openjdk-8-jre-headless \
pkg-config \
curl \
python3-pip \
libfontconfig1

RUN pip3 install tap2junit

RUN addgroup --gid {{ server_user_gid.stdout_lines[0] }} {{ server_user }}

RUN adduser --gid {{ server_user_gid.stdout_lines[0] }} --uid {{ server_user_uid.stdout_lines[0] }} --disabled-password --gecos {{ server_user }} {{ server_user }}

ENV ICU64DIR=/opt/icu-64.1 \
ICU65DIR=/opt/icu-65.1 \
ICU67DIR=/opt/icu-67.1 \
ICU68DIR=/opt/icu-68.2 \
ICU69DIR=/opt/icu-69.1

RUN for ICU_ENV in $(env | grep ICU..DIR); do \
ICU_PREFIX=$(echo $ICU_ENV | cut -d '=' -f 2) && \
ICU_VERSION=$(echo $ICU_PREFIX | cut -d '-' -f 2) && \
ICU_MAJOR=$(echo $ICU_VERSION | cut -d '.' -f 1) && \
ICU_MINOR=$(echo $ICU_VERSION | cut -d '.' -f 2) && \
mkdir -p /tmp/icu-$ICU_VERSION && \
cd /tmp/icu-$ICU_VERSION && \
curl -sL "https://github.com/unicode-org/icu/releases/download/release-$ICU_MAJOR-$ICU_MINOR/icu4c-${ICU_MAJOR}_$ICU_MINOR-src.tgz" | tar zxv --strip=1 && \
cd source && \
./runConfigureICU Linux --prefix=$ICU_PREFIX && \
make -j $JOBS && \
make install && \
rm -rf /tmp/icu-$ICU_VERSION; \
done

ENV OPENSSL110DIR /opt/openssl-1.1.0l

RUN mkdir -p /tmp/openssl_1.1.0l && \
cd /tmp/openssl_1.1.0l && \
curl -sL https://www.openssl.org/source/openssl-1.1.0l.tar.gz | tar zxv --strip=1 && \
./config --prefix=$OPENSSL110DIR && \
make -j 6 && \
make install && \
rm -rf /tmp/openssl_1.1.0l

ENV OPENSSL111DIR /opt/openssl-1.1.1k

RUN mkdir -p /tmp/openssl_1.1.1k && \
cd /tmp/openssl_1.1.1k && \
curl -sL https://www.openssl.org/source/openssl-1.1.1k.tar.gz | tar zxv --strip=1 && \
./config --prefix=$OPENSSL111DIR && \
make -j 6 && \
make install && \
rm -rf /tmp/openssl_1.1.1k

ENV OPENSSL300DIR /opt/openssl-3.0.0

RUN mkdir -p /tmp/openssl_3.0.0 && \
cd /tmp/openssl_3.0.0 && \
git clone https://github.com/quictls/openssl.git -b openssl-3.0.0-alpha16+quic --depth 1 && \
cd openssl && \
./config --prefix=$OPENSSL300DIR && \
make -j 6 && \
make install && \
rm -rf /tmp/openssl_3.0.0

ENV ZLIB12DIR /opt/zlib_1.2.11

RUN mkdir -p /tmp/zlib_1.2.11 && \
cd /tmp/zlib_1.2.11 && \
curl -sL https://zlib.net/zlib-1.2.11.tar.gz | tar zxv --strip=1 && \
./configure --prefix=$ZLIB12DIR && \
make -j 6 && \
make install && \
rm -rf /tmp/zlib_1.2.11

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/slave.jar -O \
&& java -Xmx{{ server_ram|default('128m') }} \
-jar /home/{{ server_user }}/slave.jar \
-jnlpUrl {{ jenkins_url }}/computer/{{ item.name }}/slave-agent.jnlp \
-secret {{ item.secret }}
1 change: 1 addition & 0 deletions jenkins/scripts/VersionSelectorScript.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ def buildExclusions = [
[ /^ubuntu1404-64/, anyType, gte(12) ],
[ /^ubuntu1604-32/, anyType, gte(10) ], // 32-bit linux for <10 only
[ /^ubuntu1604-64/, anyType, gte(16) ],
[ /^ubuntu2004-64/, anyType, lt(13) ], // Ubuntu 20 doesn't have Python 2
[ /^alpine-latest-x64$/, anyType, lt(13) ], // Alpine 3.12 doesn't have Python 2

// Linux PPC LE ------------------------------------------
Expand Down