status-desktop/ci
Jakub Sokołowski a5ba253730
ci: retry nim_status_client build 3 times
This is a temporary stop-gap fix for a known linux build issue:
https://github.com/status-im/infra-ci/issues/88

Since currently this issue is very hard to reproduce and there is no
good solution in sight this should minimize the pain caused by it.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-26 20:00:46 +02:00
..
cpp ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +02:00
Dockerfile Revert "ci: upgrade to GCC 11 to match build outside Docker" 2023-06-20 09:25:37 +02:00
Jenkinsfile ci: add a combined Jenkinsfile for releases 2021-04-14 15:36:00 -04:00
Jenkinsfile.combined ci: add Alchemy credentials, update Infura 2023-04-22 11:09:02 +02:00
Jenkinsfile.linux ci: retry nim_status_client build 3 times 2023-06-26 20:00:46 +02:00
Jenkinsfile.macos ci: disable QML cache to avoid stale cache 2023-06-14 14:18:57 +02:00
Jenkinsfile.tests-e2e ci: retry nim_status_client build 3 times 2023-06-26 20:00:46 +02:00
Jenkinsfile.tests-imports ci: add NIMFLAGS parameter to jobs 2023-06-06 17:48:44 +02:00
Jenkinsfile.tests-nim Revert "ci: upgrade to GCC 11 to match build outside Docker" 2023-06-20 09:25:37 +02:00
Jenkinsfile.windows ci: disable QML cache to avoid stale cache 2023-06-14 14:18:57 +02:00
README.md chore(Qt5.15.2): Update linux CI to use docker image with Qt5.15.2 installed 2023-01-31 19:10:28 +01: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:18.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 18.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.