Skip to content

Commit 1004696

Browse files
committed
chore(ci): use system nim everywhere
To fix windows build issues due to very long paths by nimbus-build-system - points status-go to bring in status-im/status-go#7185 - updates mac,windows host install scripts to include nim - updates linux dockerfile to install nim - updates linux docker image tag to use newer image
1 parent ab7de62 commit 1004696

File tree

6 files changed

+23
-5
lines changed

6 files changed

+23
-5
lines changed

ci/Dockerfile

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ ARG QT_VERSION="6.9.2"
22
ARG QT_MODULES="qtwebchannel qtwebview qtwebsockets qt5compat qtmultimedia qtwebengine qtpositioning qtserialport qtshadertools qtimageformats qtscxml qthttpserver"
33
ARG LINUXDEPLOYQT_VERSION="20250615-0393b84"
44
ARG PCSCLITE_VERSION="2.2.3"
5+
ARG NIM_VERSION="2.2.4"
56

67
# QT Installation Image --------------------------------------------------------
78
FROM ubuntu:22.04 AS qt-install
@@ -46,7 +47,7 @@ RUN cp builddir/pcsclite.h src/PCSC
4647
# Build Image ------------------------------------------------------------------
4748
FROM ubuntu:22.04
4849

49-
ARG QT_VERSION LINUXDEPLOYQT_VERSION PCSCLITE_VERSION
50+
ARG QT_VERSION LINUXDEPLOYQT_VERSION PCSCLITE_VERSION NIM_VERSION
5051

5152
# Adapted from a12e/docker-qt by Aurélien Brooke
5253

@@ -170,6 +171,22 @@ RUN curl -s https://nixos.org/releases/nix/nix-2.24.11/install | sh -s -- --no-d
170171
# for nix-shell to work
171172
ENV PATH="/home/jenkins/.nix-profile/bin:${PATH}"
172173

174+
# Nim
175+
RUN curl https://nim-lang.org/choosenim/init.sh -sSf | sh -s -- -y \
176+
&& /home/jenkins/.nimble/bin/choosenim ${NIM_VERSION}
177+
ENV PATH="/home/jenkins/.nimble/bin:${PATH}"
178+
179+
# Switch to root to create system-wide symlinks for Nim tools
180+
USER root
181+
182+
RUN ln -sf /home/jenkins/.choosenim/toolchains/nim-${NIM_VERSION}/bin/nim /usr/local/bin/nim \
183+
&& ln -sf /home/jenkins/.choosenim/toolchains/nim-${NIM_VERSION}/bin/nimble /usr/local/bin/nimble \
184+
&& ln -sf /home/jenkins/.choosenim/toolchains/nim-${NIM_VERSION}/bin/choosenim /usr/local/bin/choosenim \
185+
&& chmod 755 /home/jenkins/.choosenim/toolchains/nim-${NIM_VERSION}/bin/* \
186+
&& chown -R root:root /home/jenkins/.choosenim/toolchains/nim-${NIM_VERSION}/bin
187+
188+
USER jenkins
189+
173190
LABEL maintainer="[email protected]"
174191
LABEL source="https://github.com/status-im/status-app"
175192
LABEL description="Build image for the Status Desktop client written in Nim."

ci/Jenkinsfile.linux

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pipeline {
1010
/* Image with Ubuntu 22.04 and QT 6.9.2 */
1111
docker {
1212
label 'linuxcontainer'
13-
image 'harbor.status.im/status-im/status-desktop-build:1.0.5-qt6.9.2'
13+
image 'harbor.status.im/status-im/status-desktop-build:1.0.6-qt6.9.2'
1414
/* allows jenkins use cat and mounts '/dev/fuse' for linuxdeployqt */
1515
args '--entrypoint="" ' +
1616
'--cap-add=SYS_ADMIN ' +

ci/Jenkinsfile.tests-nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ pipeline {
88
agent {
99
docker {
1010
label 'linuxcontainer'
11-
image 'harbor.status.im/status-im/status-desktop-build:1.0.5-qt6.9.2'
11+
image 'harbor.status.im/status-im/status-desktop-build:1.0.6-qt6.9.2'
1212
}
1313
}
1414

scripts/macos_build_setup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function check_version {
1919

2020
function install_build_dependencies {
2121
echo "Install build dependencies"
22-
brew install pkg-config libtool jq node@22 yarn protoc-gen-go aqtinstall xcbeautify
22+
brew install pkg-config libtool jq node@22 yarn protoc-gen-go aqtinstall xcbeautify nim
2323
}
2424

2525
function install_qt {

scripts/windows_build_setup.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ function Install-Dependencies {
4040
scoop install --global `
4141
7zip git dos2unix findutils `
4242
wget rcedit inno-setup `
43+
nim mingw-winlibs `
4344
make gcc openssl-lts
4445
}
4546

vendor/status-go

Submodule status-go updated 80 files

0 commit comments

Comments
 (0)