status-desktop/ci
Jakub Sokołowski 349c83347d
ci: allow running MacOS builds on M1 Macs
This depends on installing Qt via Brew, but that creates a version mismatch,
since it's 5.15.8 and not 5.15.2, which is not optimal but works for now.

In the long term we should probably look into using Nix, or maybe aqt
will support M1 Macs, but this is not great.

Depends on:
- https://github.com/status-im/infra-ci/commit/54408b41
- https://github.com/status-im/infra-ci/commit/39d4fdef

Resolves: https://github.com/status-im/status-desktop/issues/9984

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-07 14:25:34 +02:00
..
cpp ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +02:00
Dockerfile QR code scanner (QML component) (#9464) 2023-03-07 12:08:38 -04:00
Jenkinsfile ci: add a combined Jenkinsfile for releases 2021-04-14 15:36:00 -04:00
Jenkinsfile.combined ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +02:00
Jenkinsfile.e2e feature(Syncing): Embed QR code scanner for syncing devices on onboarding (#9981) 2023-03-30 20:57:18 +03:00
Jenkinsfile.imports feat(@wallet): add pokt network + fallbark 2023-02-28 09:12:05 +01:00
Jenkinsfile.linux ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +02:00
Jenkinsfile.macos ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +02:00
Jenkinsfile.tests-nim QR code scanner (QML component) (#9464) 2023-03-07 12:08:38 -04:00
Jenkinsfile.windows ci: allow running MacOS builds on M1 Macs 2023-04-07 14:25:34 +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.