status-desktop/ci
Jakub Sokołowski 9e8796f161
feature(ci): set build description even if it fails
QA needs easier access to public URLs from DigitalOcean spaces, and when
this meta-job fails the URLs are buried within child jobs and hard to access.

This not only sets the description if build fails, it sets it after
every single child build finishes.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-04 12:17:16 +01:00
..
cpp chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +02:00
Dockerfile fix(ci): pin linuxdeployqt at 20230423 (8428c59) 2023-10-24 13:47:56 +02:00
Jenkinsfile ci: add a combined Jenkinsfile for releases 2021-04-14 15:36:00 -04:00
Jenkinsfile.combined feature(ci): set build description even if it fails 2023-11-04 12:17:16 +01:00
Jenkinsfile.linux chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +02:00
Jenkinsfile.macos chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +02:00
Jenkinsfile.tests-e2e chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +02:00
Jenkinsfile.tests-nim chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +02:00
Jenkinsfile.tests-ui chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +02:00
Jenkinsfile.windows chore(ci): upgrade Jenkins library to 1.8.0 2023-10-26 23:11:23 +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.