aboutsummaryrefslogtreecommitdiffstats
path: root/.cirrus/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to '.cirrus/Dockerfile')
-rw-r--r--.cirrus/Dockerfile51
1 files changed, 51 insertions, 0 deletions
diff --git a/.cirrus/Dockerfile b/.cirrus/Dockerfile
new file mode 100644
index 00000000000..5828cd2fd23
--- /dev/null
+++ b/.cirrus/Dockerfile
@@ -0,0 +1,51 @@
+ARG JDK_VERSION=17
+FROM eclipse-temurin:${JDK_VERSION}-jdk-jammy
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN set -o errexit -o nounset \
+ && groupadd --system --gid 1000 sonarsource \
+ && useradd --system --gid sonarsource --uid 1000 --shell /bin/bash --create-home sonarsource
+
+RUN echo 'Acquire::AllowReleaseInfoChange::Suite "true";' > /etc/apt/apt.conf.d/allow_release_info_change.conf
+
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199#23
+RUN mkdir -p /usr/share/man/man1 \
+ && apt-get update \
+ && apt-get -y install --no-install-recommends \
+ lsb-release \
+ ca-certificates \
+ curl \
+ wget \
+ gnupg \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+ARG NODE_MAJOR=18
+RUN DISTRO="$(lsb_release -s -c)" \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" >> /etc/apt/sources.list.d/nodesource.list \
+ && curl -sSL https://packages.atlassian.com/api/gpg/key/public | gpg --dearmor -o /etc/apt/keyrings/atlassian.gpg \
+ && echo "deb [signed-by=/etc/apt/keyrings/atlassian.gpg] https://packages.atlassian.com/debian/atlassian-sdk-deb/ stable contrib" >> /etc/apt/sources.list.d/atlassian-sdk.list \
+ && curl -sSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /etc/apt/keyrings/adoptium-archive-keyring.gpg \
+ && echo "deb [signed-by=/etc/apt/keyrings/adoptium-archive-keyring.gpg] https://packages.adoptium.net/artifactory/deb $DISTRO main" >> /etc/apt/sources.list.d/adoptopenjdk.list \
+ && apt-get update \
+ && apt-get -y install --no-install-recommends \
+ git \
+ unzip \
+ nodejs="$NODE_MAJOR".* \
+ jq \
+ expect \
+ atlassian-plugin-sdk \
+ temurin-8-jdk \
+ xmlstarlet \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/* \
+ && npm install -g yarn
+
+# Avoiding JVM Delays Caused by Random Number Generation (https://docs.oracle.com/cd/E13209_01/wlcp/wlss30/configwlss/jvmrand.html)
+RUN sed -i 's|securerandom.source=file:/dev/random|securerandom.source=file:/dev/urandom|g' "$JAVA_HOME/conf/security/java.security"
+
+USER sonarsource
+WORKDIR /home/sonarsource