status-desktop/ci
Jakub Sokołowski 24cdab41c6 ci: fix read-only FS errors in AppImage
After a LOT of work from @jrainville bisecting the release branch he
identified the issue to be this commit:
https://github.com/status-im/status-desktop/commit/dad8e453
ci: bump client build retries to 20

Which actually was poorly squashed by @iurimatias and contains the
commit that also adds the retries in the first place:
https://github.com/status-im/status-desktop/commit/a5ba2537
ci: retry nim_status_client build 3 times

The reason why that's an issue is because normally it was caled by `make
tgz-linux` target which included this setting:
```
override RESOURCES_LAYOUT := $(PRODUCTION_PARAMETERS)
```
Which caused `NIM_PARAMS` to use `-d:development` instead of `-d:production`.
The result was the app trying to write config file changes to the read-only
filesystem of the AppImage.

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

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-07-05 15:37:15 -04: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
Jenkinsfile.combined ci: add Alchemy credentials, update Infura 2023-04-22 11:09:02 +02:00
Jenkinsfile.linux ci: fix read-only FS errors in AppImage 2023-07-05 15:37:15 -04:00
Jenkinsfile.macos ci: disable QML cache to avoid stale cache 2023-06-14 14:18:57 +02:00
Jenkinsfile.tests-e2e ci: fix read-only FS errors in AppImage 2023-07-05 15:37:15 -04: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.