status-desktop/ci
Jakub Sokołowski b3625cceed
ci: upgrade docker image to Ubuntu 20.04
Ubuntu 18.04 LTS support has ended on the 31st of May 2023. It's about
time we upgraded to 20.04, which uses Glibc `2.31` instead of `2.27`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-07-03 20:50:02 +02:00
..
cpp ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +02:00
Dockerfile ci: upgrade docker image to Ubuntu 20.04 2023-07-03 20:50:02 +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: upgrade docker image to Ubuntu 20.04 2023-07-03 20:50:02 +02:00
Jenkinsfile.macos ci: disable QML cache to avoid stale cache 2023-06-14 14:18:57 +02:00
Jenkinsfile.tests-e2e ci: bump client build retries to 20 2023-06-27 13:37:52 +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 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.