status-desktop/ci
Jakub Sokołowski 3e4e3591cd fix(ci)_: move nim cache to workspace tmp folder
An error has shown that Nim compilation uses cache folder in `jenkins` home:
```
clang: error: no such file or directory:
'/Users/jenkins/.cache/nim/nimsuggest_r/@m..@slib@swrappers@slinenoise@slinenoise.c.o'
```
This is a bad idea as parallel CI builds can result in very bizzarre bugs.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-11 13:23:35 +02:00
..
cpp ci: move proxy stage setup to jenkins-lib 2024-08-28 10:30:43 +02:00
Dockerfile fix(status-go)_: add missing status-go dependencies (#16470) 2024-10-08 19:36:20 +05:30
Jenkinsfile ci: add a combined Jenkinsfile for releases 2021-04-14 15:36:00 -04:00
Jenkinsfile.combined ci: move proxy stage setup to jenkins-lib 2024-08-28 10:30:43 +02:00
Jenkinsfile.linux fix(ci)_: move nim cache to workspace tmp folder 2024-10-11 13:23:35 +02:00
Jenkinsfile.linux-nix fix(ci)_: move nim cache to workspace tmp folder 2024-10-11 13:23:35 +02:00
Jenkinsfile.macos fix(ci)_: move nim cache to workspace tmp folder 2024-10-11 13:23:35 +02:00
Jenkinsfile.tests-e2e ci: add test user seed variable for e2e 2024-09-05 12:01:45 +02:00
Jenkinsfile.tests-nim ci: move proxy stage setup to jenkins-lib 2024-08-28 10:30:43 +02:00
Jenkinsfile.tests-ui ci: move proxy stage setup to jenkins-lib 2024-08-28 10:30:43 +02:00
Jenkinsfile.windows fix(ci)_: move nim cache to workspace tmp folder 2024-10-11 13:23:35 +02:00
README.md ci: upgrade docker image to Ubuntu 20.04 2023-07-03 20:50:02 +02:00

README.md

Description

These Jenkinsfiles are used to run CI jobs in Jenkins. You can find them here: https://ci.status.im/job/nim-status-client/

Builds

Linux

In order to build the Linux version of the application we use the ubuntu:20.04 Docker image where we install the Qt 5.15.2 provided by aqt, linuxdeployqt provided by https://github.com/probonopd/linuxdeployqt and other dependencies (go, cmake, gcc etc.). We're using Ubuntu 20.04 to ensure glibc compatibility with the oldest still-supported LTS release and to comply with linuxdeployqt requirements.

The image is built with Dockerfile using:

docker build -t statusteam/nim-status-client-build:latest .

And pushed to: https://hub.docker.com/r/statusteam/nim-status-client-build

MacOS

The MacOS builds are run on MacOS hosts and expect Command Line Toold and XCode to be installed, as well as QT being available under /usr/local/qt.

It also expects the presence of the following credentials:

  • macos-keychain-identity - ID of used signing certificate.
  • macos-keychain-pass - Password to unlock the keychain.
  • macos-keychain-file - Keychain file with the MacOS signing certificate.

You can read about how to create such a keychain here.