Commit Graph
44 Commits
Author SHA1 Message Date
Siddarth Kumar ea1cf12641 fix(ci): fetch PCSC,CCID from git mirror
because https://pcsclite.apdu.fr/files/pcsc-lite-2.2.3.tar.xz is 404 and
so was the CCID url
2026-07-31 09:33:12 +05:30
Sale Djenic 3bd3c4b7a1 refactor(new-keycard-approach): remove status-keycard-go submodule and update references to reference to status-keycard-qt library
- Deleted the status-keycard-go submodule from .gitmodules and Makefile.
- Updated config.nims to reference STATUSKEYCARD_QT_LIBDIR instead of STATUSKEYCARDGO_LIBDIR.
- Adjusted build scripts and feature flags to remove dependencies on status-keycard-go.
- The code aligned.
2026-06-22 13:48:45 +02:00
Siddarth Kumar b2e589b77d flatpak: init setup 2026-06-18 19:43:21 +05:30
Siddarth Kumar c53bd145b0 chore(ci): upgrade CI to use QT 6.11.0 2026-04-25 07:27:39 +05:30
Siddarth Kumar 482c9b967a chore(ci): use system nim everywhere
To fix windows build issues due to very long paths by
nimbus-build-system

- points status-go to bring in
https://github.com/status-im/status-go/pull/7185
- updates mac,windows host install scripts to include nim
- updates linux dockerfile to install nim
- updates linux docker image tag to use newer image
2025-12-21 16:14:07 +04:00
Jonathan Rainville 7a1455be96 chore: rename status-desktop to status-app
Adapts the docs and different mentions of the repo from status-desktop to status-app

Also adapts the docs to talk about the Status App and not just Status Dekstop. Adds links to the Mobile build too.
2025-12-10 11:36:43 -05:00
marko c0e8142087 chore(ci): upgrade QT to 6.9.2
Referenced issue:
* https://github.com/status-im/status-desktop/issues/18776
2025-09-18 17:36:28 +02:00
Igor SirotinandSiddarth Kumar 639d042dcf ci: go 1.24 (#18830)
* chore: bump status-go

* ci: upgrade Go to 1.24

* ci: update golang archive checksum

* fix: version typo

* ci: bump docker images with go 1.24

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>
2025-09-12 18:11:27 +01:00
Siddarth Kumar 892e0b1bdd ci: fix pcsc run dir 2025-09-01 17:51:21 +04:00
Siddarth Kumar 764fafce6d ci: parameterise jenkins file for nwaku builds 2025-08-12 18:45:10 +05:30
Michał Cieślak e6ebb0a3a7 HttpServer qt module added to Dockerfile bc needed by Storybook build 2025-08-08 11:44:44 +02:00
Alex Jbanca dd1a7cdbcd chore(pcre): Remove pcre dependency for desktop builds 2025-08-01 17:09:59 +03:00
Siddarth Kumar 90daccf3a2 ci: upgrade go to 1.23 2025-07-15 20:53:43 +05:30
jakub c2c68f7686 ci: build PCSC-Lite in a separate image
Slim down the final image by 50 MB.

Also moved Dockerfile variables to the top

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2025-07-11 15:44:02 +02:00
Siddarth Kumar 17f3b83cac ci: upgrade to QT6 and Ubuntu 22.04
- `QT6` setup runs the newer ubuntu `22.04` linux image
- `QT6` setup also uses a newer `linuxdeployqt` from here https://github.com/probonopd/linuxdeployqt/releases/tag/continuous
- `E2E` tests were updated to work with QT `6.9.0`.
- introduce a `DummyCompatImports.qml` to fix runtime issues on `linux`.
- introduced `STATUSQ_SANITY_CHECKER_EXCLUDE_FILES ` to exclude `qml` files from sanity checker.
- unused `cpp` jobs have been deleted

related issue : https://github.com/status-im/status-desktop/issues/17639
2025-06-26 18:21:56 +05:30
Siddarth Kumar 9a0c75d192 ci: upgrade openssl to 3.x 2025-06-04 15:11:05 +02:00
Siddarth Kumar c30b5475e7 feat(keycard): use bundled pcscd and psclite 2025-04-02 16:52:33 +04:00
Siddarth Kumar bce7f7d3d0 ci: upgrade go to 1.22
This commit:
- updates status-go to point to https://github.com/status-im/status-go/pull/6258
- updates nix derivation to switch to go 1.22
- swaps `sc3md` for `sc5md`
- updates docker image used by jenkins for linux jobs to image built with go 1.22.
- updates, linux, windows and MacOS build scripts to use go 1.22
2025-02-17 22:35:28 +05:30
Siddarth Kumar 8e7a588bee ci: use sc5cmd for uploads (#17228)
This fixes issues like :

11:16:59  + s3cmd --stats --acl-public --no-preserve --host=ams3.digitaloceanspaces.com '--host-bucket=%(bucket)s.ams3.digitaloceanspaces.com' put pkg/StatusIm-Desktop-250205-101034-e6dfac-pr17210-aarch64.dmg s3://status-im-desktop-prs/
11:16:59  /opt/homebrew/Cellar/s3cmd/2.4.0_1/libexec/lib/python3.13/site-packages/S3/S3Uri.py:122: SyntaxWarning: invalid escape sequence '\.'
11:16:59    m = re.match("(.*\.)?s3(?:\-[^\.]*)?(?:\.dualstack)?(?:\.[^\.]*)?\.amazonaws\.com(?:\.cn)?$",
11:16:59  /opt/homebrew/Cellar/s3cmd/2.4.0_1/libexec/lib/python3.13/site-packages/S3/S3Uri.py:170: SyntaxWarning: invalid escape sequence '\w'
11:16:59    _re = re.compile("^(\w+://)?(.*)", re.UNICODE)
11:16:59  /opt/homebrew/Cellar/s3cmd/2.4.0_1/libexec/lib/python3.13/site-packages/S3/FileLists.py:525: SyntaxWarning: invalid escape sequence '\*'
11:16:59    wildcard_split_result = re.split("\*|\?", uri_str, maxsplit=1)
11:17:00  ERROR: SSL certificate verification failure: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)

- we also bump nix interpreter version to 2.24.11
- we also use a newer image which has support for nix-shell since sc5cmd needs a nix-shell
2025-02-06 17:54:52 +05:30
jakub b366a44994 fix(ci): add missing deps for building Python deps
Without `python3-dev` and `build-essential` build of `pyzstd` fails with:
```
error: command 'x86_64-linux-gnu-gcc' failed: No such file or directory
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2025-02-04 13:33:00 +01:00
Igor Sirotin a4646cd71c fix(status-go)_: add missing status-go dependencies (#16470)
Requires things like: go-bindata mockgen protobuf

Fixes:
https://github.com/status-im/status-desktop/issues/16477

For more details see:
https://github.com/status-im/status-go/pull/5878

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-08 19:36:20 +05:30
Siddarth Kumar 9f67616b63 chore: bump go to 1.21 (#14946) 2024-05-30 17:08:31 +05:30
jakub 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 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 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 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 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 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:
https://github.com/golang/go/commit/c00e9285eae4599f6a123d0a355633379be998e8

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 SirotinandRichard Ramos 7c1c178d37 QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00
jakub 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 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 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 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 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 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 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