feat(ci): add Nix 2.19.3 for status-go builds (#14398)
Otherwise it fails with: ``` performing a single-user installation of Nix... directory /nix does not exist; creating it by running 'mkdir -m 0755 /nix && chown jenkins /nix' using sudo sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper /tmp/nix-binary-tarball-unpack.roliyEDk9X/unpack/nix-2.19.3-x86_64-linux/install: please manually run 'mkdir -m 0755 /nix && chown jenkins /nix' as root to create /nix ``` Related to: https://github.com/status-im/status-go/pull/4388 Signed-off-by: Alexis Pentori <alexis@status.im> Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
f743d2f059
commit
efd831eb08
|
@ -29,7 +29,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
QT_PATH=/opt/qt \
|
QT_PATH=/opt/qt \
|
||||||
QT_PLATFORM=gcc_64 \
|
QT_PLATFORM=gcc_64 \
|
||||||
QT_VERSION=$QT_VERSION
|
QT_VERSION=$QT_VERSION
|
||||||
|
|
||||||
ENV PATH=${QT_PATH}/${QT_VERSION}/${QT_PLATFORM}/bin:$PATH \
|
ENV PATH=${QT_PATH}/${QT_VERSION}/${QT_PLATFORM}/bin:$PATH \
|
||||||
QTDIR=${QT_PATH}/${QT_VERSION}/${QT_PLATFORM}
|
QTDIR=${QT_PATH}/${QT_VERSION}/${QT_PLATFORM}
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ RUN wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1
|
||||||
&& chmod +x cmake-3.22.1-linux-x86_64.sh \
|
&& chmod +x cmake-3.22.1-linux-x86_64.sh \
|
||||||
&& sudo mkdir /opt/cmake \
|
&& sudo mkdir /opt/cmake \
|
||||||
&& sudo sh cmake-3.22.1-linux-x86_64.sh --prefix=/opt/cmake --exclude-subdir --skip-license \
|
&& sudo sh cmake-3.22.1-linux-x86_64.sh --prefix=/opt/cmake --exclude-subdir --skip-license \
|
||||||
&& rm -f cmake-3.22.1-linux-x86_64.sh
|
&& rm -f cmake-3.22.1-linux-x86_64.sh
|
||||||
ENV PATH="/opt/cmake/bin:${PATH}"
|
ENV PATH="/opt/cmake/bin:${PATH}"
|
||||||
|
|
||||||
# Installing Golang
|
# Installing Golang
|
||||||
|
@ -89,12 +89,18 @@ RUN GOLANG_SHA256="698ef3243972a51ddb4028e4a1ac63dc6d60821bf18e59a807e051fee0a38
|
||||||
&& rm "${GOLANG_TARBALL}" \
|
&& rm "${GOLANG_TARBALL}" \
|
||||||
&& sudo ln -s /usr/local/go/bin/go /usr/local/bin
|
&& sudo ln -s /usr/local/go/bin/go /usr/local/bin
|
||||||
|
|
||||||
|
# Create Nix directory as root.
|
||||||
|
RUN mkdir /nix && chown 1001:1001 /nix
|
||||||
|
|
||||||
# Jenkins user needs a specific UID/GID to work
|
# Jenkins user needs a specific UID/GID to work
|
||||||
RUN sudo groupadd -g 1001 jenkins \
|
RUN sudo groupadd -g 1001 jenkins \
|
||||||
&& sudo useradd --create-home -u 1001 -g 1001 jenkins
|
&& sudo useradd --create-home -u 1001 -g 1001 jenkins
|
||||||
USER jenkins
|
USER jenkins
|
||||||
ENV HOME="/home/jenkins"
|
ENV HOME="/home/jenkins"
|
||||||
|
|
||||||
|
# Nix for jenkins user to build status-go.
|
||||||
|
RUN curl -s https://nixos.org/releases/nix/nix-2.19.3/install | sh -s -- --no-daemon
|
||||||
|
|
||||||
LABEL maintainer="jakub@status.im"
|
LABEL maintainer="jakub@status.im"
|
||||||
LABEL source="https://github.com/status-im/status-desktop"
|
LABEL source="https://github.com/status-im/status-desktop"
|
||||||
LABEL description="Build image for the Status Desktop client written in Nim."
|
LABEL description="Build image for the Status Desktop client written in Nim."
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Object to store public URLs for description. */
|
/* Object to store public URLs for description. */
|
||||||
urls = [:]
|
urls = [:]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
@ -9,7 +9,7 @@ pipeline {
|
||||||
/* Necessary image with Ubuntu 20.04 for older Glibc. */
|
/* Necessary image with Ubuntu 20.04 for older Glibc. */
|
||||||
docker {
|
docker {
|
||||||
label 'linux'
|
label 'linux'
|
||||||
image 'statusteam/nim-status-client-build:1.3.0-qt5.15.2'
|
image 'statusteam/nim-status-client-build:1.4.0-qt5.15.2'
|
||||||
/* allows jenkins use cat and mounts '/dev/fuse' for linuxdeployqt */
|
/* allows jenkins use cat and mounts '/dev/fuse' for linuxdeployqt */
|
||||||
args '--entrypoint="" --cap-add SYS_ADMIN --security-opt apparmor:unconfined --device /dev/fuse'
|
args '--entrypoint="" --cap-add SYS_ADMIN --security-opt apparmor:unconfined --device /dev/fuse'
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env groovy
|
#!/usr/bin/env groovy
|
||||||
library 'status-jenkins-lib@v1.8.11'
|
library 'status-jenkins-lib@v1.8.13'
|
||||||
|
|
||||||
/* Options section can't access functions in objects. */
|
/* Options section can't access functions in objects. */
|
||||||
def isPRBuild = utils.isPRBuild()
|
def isPRBuild = utils.isPRBuild()
|
||||||
|
|
Loading…
Reference in New Issue