Jakub Sokołowski
4bd81e8a9a
This way we prevent situation in which a developer or QA engineer runs a custom job with adjusted parameters, and then all following jobs use those modified parameters implicitly. The more sane behavior is to always revert to defaults for PR builds, but remember last used parameters for non-PR builds. Signed-off-by: Jakub Sokołowski <jakub@status.im> |
||
---|---|---|
.. | ||
cpp | ||
Dockerfile | ||
Jenkinsfile | ||
Jenkinsfile.combined | ||
Jenkinsfile.linux | ||
Jenkinsfile.macos | ||
Jenkinsfile.tests-e2e | ||
Jenkinsfile.tests-imports | ||
Jenkinsfile.tests-nim | ||
Jenkinsfile.windows | ||
README.md |
README.md
Description
These Jenkinsfile
s 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.