Commit Graph

22 Commits

Author SHA1 Message Date
Jakub Sokołowski efd831eb08
feat(ci): add Nix 2.19.3 for status-go builds (#14398)
Otherwise it fails with:
```
performing a single-user installation of Nix...
directory /nix does not exist; creating it by running 'mkdir -m 0755 /nix && chown jenkins /nix' using sudo
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
/tmp/nix-binary-tarball-unpack.roliyEDk9X/unpack/nix-2.19.3-x86_64-linux/install: please manually run 'mkdir -m 0755 /nix && chown jenkins /nix' as root to create /nix
```
Related to:
https://github.com/status-im/status-go/pull/4388

Signed-off-by: Alexis Pentori <alexis@status.im>
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-04-11 17:14:47 +03:00
Jakub Sokołowski c0b564e160
fix(ci): pin linuxdeployqt at 20230423 (8428c59)
Using continuous builds is a great way to get unexpected results.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-24 13:47:56 +02:00
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
Jakub Sokołowski 74357faf32
Revert "ci: upgrade to GCC 11 to match build outside Docker"
This reverts commit 38d3b32cb9.
2023-06-20 09:25:37 +02:00
Jakub Sokołowski 38d3b32cb9
ci: upgrade to GCC 11 to match build outside Docker
Possible fix for weird Linux crashes:
https://github.com/status-im/infra-ci/issues/88

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-14 11:07:54 +02:00
Jakub Sokołowski ffa200f32d
ci: upgrade from Go 1.19.5 to 1.20.4
This is supposed to fix crashes on M1 Macs:
https://github.com/status-im/status-desktop/issues/10548
https://github.com/status-im/status-desktop/pull/10442
Specifically this commit:
c00e9285ea

https://go.dev/doc/devel/release#go1.20

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-05-04 16:01:17 +02:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00
Jakub Sokołowski 246e8b2704 ci: add missing dependencies for Qts libqxcb.so
Without the following dependencies:
```
libxcb-shape0 libxcb-randr0 libxcb-icccm4 libxcb-image0
libxcb-keysyms1 libxcb-render-util0 libxcb-render0 libxcb-xinerama0
```
The `libqxcb.so` library is unusable:
```
 > ldd -v /opt/qt/5.15.2/gcc_64/plugins/platforms/libqxcb.so
 > echo $?
1
 >
 > LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 /opt/qt/5.15.2/gcc_64/plugins/platforms/libqxcb.so
zsh: segmentation fault (core dumped)  LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-03 11:39:51 -05:00
Alex Jbanca db3b63e29d chore(Qt5.15.2): Update linux CI to use docker image with Qt5.15.2 installed
We're using a base ubuntu:18.04 Docker image and install Qt5.15.2 on top using aqt installer and linuxdeplyqt.
Upgrade of ubuntu_build_setup.sh is left to a separate PR due to Squish being tied to old Qt.
2023-01-31 19:10:28 +01:00
Richard Ramos ea44816071 chore: update go version in dockerfile 2022-08-03 09:40:47 -04:00
Richard Ramos d6ed3ed285 fix: add qtlottie to linux build 2022-03-10 14:12:11 -04:00
Patryk Osmaczko ee462ea178 fix(@desktop/input): deploy Qt plugin to support fcitx
Qt provides support for various input methods through plugins.
Since the fcitx plugin is not delivered with Qt, it needs to be
built and deployed by us.

Fixes: #4436
2022-01-26 18:11:39 +01:00
Jakub Sokołowski 977293c1ce ci: manually fix expired LetsEncrypt X3 root cert
https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/
https://blog.dnsimple.com/2021/09/letsencrypt-intermediate-expiration/
https://scotthelme.co.uk/lets-encrypt-old-root-expiration/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-22 14:26:22 +01:00
Jakub Sokołowski c4c0484e61 ci: upgrade ca-certificates in Linux Docker image
Otherwise cloning of BearSSL fails with:
```
Cloning into '/home/jenkins/workspace/status-desktop/platforms/linux/vendor/status-lib/vendor/nim-task-runner/vendor/nim-bearssl/bearssl/csources'...
fatal: unable to access 'https://www.bearssl.org/git/BearSSL/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
fatal: clone of 'https://www.bearssl.org/git/BearSSL' into submodule path '/home/jenkins/workspace/status-desktop/platforms/linux/vendor/status-lib/vendor/nim-task-runner/vendor/nim-bearssl/bearssl/csources' failed
Failed to clone 'bearssl/csources'. Retry scheduled
```
https://blog.dnsimple.com/2021/09/letsencrypt-intermediate-expiration/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-22 12:22:46 +01:00
Richard Ramos d640ecfa27 update go version in dockerfile 2021-10-19 15:15:03 -04:00
Michele Balistreri 03c0a85aee update Dockerfile, status-lib 2021-10-06 08:32:32 -04:00
Jakub Sokołowski 2df6def7f9 ci: add scripts/sign-linux-tarball.sh for GPG signing
Adds `scripts/sign-linux-file.sh` which expectes the following variables set:

* `LINUX_GPG_PRIVATE_KEY_FILE` - Path to the GPG export of private key.
* `LINUX_GPG_PRIVATE_KEY_PASS` - Password necessary to use the private key.

Given a file it creates a file with a `.asc` suffix containing the signature:
```
 > wget -q https://status-im-prs.ams3.digitaloceanspaces.com/StatusIm-210809-104514-156806-pr.tar.gz

 > tar xvf StatusIm-210809-104514-156806-pr.tar.gz
StatusIm-210809-104514-156806-pr.AppImage
StatusIm-210809-104514-156806-pr.AppImage.asc

 > gpg --verify StatusIm-210809-104514-156806-pr.AppImage.asc
gpg: assuming signed data in 'StatusIm-210809-104514-156806-pr.AppImage'
gpg: Signature made Mon 09 Aug 2021 12:54:49 PM CEST using RSA key ID E20B4DFD
gpg: Good signature from "Status.im Devel Signing (GPG key for signing Status.im development builds.) <devel@status.im>" [ultimate]
Primary key fingerprint: BBF0 5F92 536B ED19 30A9  FD44 009F B3BF E20B 4DFD
```

Issue: https://github.com/status-im/infra-ci/issues/25
Requires: https://github.com/status-im/status-jenkins-lib/pull/32

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-08-16 11:21:36 -04:00
Michael Bradley, Jr 37c51cc25f build: use same container as Jenkins CI for local packaged builds on Linux
Make the docker-related logic for doing a local packaged build on Linux match
with the Jenkins CI build for Linux.

Also fix the problems with packaged builds for Linux (local or CI) where
gstreamer errors were displayed in the terminal shortly after app start/login
and there was no sound output.
2021-04-27 13:49:46 -05:00
Richard Ramos 7e857807e5 fix: add jq to dockerfile 2020-11-06 16:22:07 -05:00
Jakub Sokołowski 8f092da382 ci: re-install Qt in Docker image to add QtWebEngine
We do this here to avoid having to fork the original image repo:
https://github.com/a12e/docker-qt

Resolves: https://github.com/status-im/nim-status-client/issues/523

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-10-07 16:11:58 +02:00
Jakub Sokołowski 7d16216c3b add support for posting PR builds in GitHub comments
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-13 12:15:02 +02:00
Jakub Sokołowski 85a3557f1e add Jenkinsfiles and Dockerfile for CI
Changes:
- Adds `ci/Dockerfile` for creating `statusteam/nim-status-client-build:latest` used in builds
- Adds `ci/Jenkinsfile.linux` and `ci/Jenkinsfile.macos` for respective platforms
- Simplifies MacOS signing by adding `scripts/sign-macos-pkg.sh` script
- Makes `Makefile` use `scripts/sign-macos-pkg.sh` to make the DMG
- Makes `APPIMAGE` and `DMG` in `Makefile` modifiable by environment
- Adds `--passL:"-headerpad_max_install_names"` to `NIM_PARAMS` to fix MacOS signing issues

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-07-01 22:06:37 +02:00