Commit Graph
162 Commits
Author SHA1 Message Date
Igor Sirotin 4fbadfec0c fix(ci): apply status-go ref override after make update (#22108)
The Override status-go ref stage ran before Deps. `make update` calls
nimbus-build-system's `update-common`, which runs `git submodule update
--init --recursive` and `git submodule foreach --recursive 'git reset
--hard'`, resetting vendor/status-go to the pinned pointer and discarding
the override. Every status-go PR check therefore built and E2E-tested the
submodule pointer instead of the PR.

Jenkinsfile.ios and Jenkinsfile.android have no `make update` between the
override and the build, so they were already correct and are unchanged.
2026-08-27 16:05:13 +01:00
marko d19e2e614f feat(ci): change S3 storage from DO to hetzner
Referenced issue:
* https://github.com/status-im/infra-ci/issues/282

Signed-off-by: markoburcul <marko@status.im>
2026-08-18 15:03:38 +02:00
Siddarth Kumar 74b1e11412 ci: allow to override status-go reference 2026-07-31 09:32:37 +05:30
Siddarth Kumar 3db8873f8e ci: bump jenkins lib for klipy api key 2026-07-05 17:35:58 +05:30
Sale Djenic 8d52388e31 feat(keycard): runs the app against simulated keycard
Behind the compile-time USE_SIMULATED_KEYCARD flag (off by default, so
production is unaffected), the app drives a real Status Keycard applet
running in jcardsim instead of a physical reader — enabling keycard e2e
and manual testing without hardware.

- Bump status-keycard-qt (SimulatedChannelBackend + test-only KeycardTest*
  C API) and nim-keycard-go (matching bindings), both gated by the flag.
- Add KeycardTestController (Nim) and the KeycardSimulatorController window
  to start the simulator and create/insert/remove empty or seed-loaded cards.
- Wire USE_SIMULATED_KEYCARD through Makefile and CI, with a per-mode
  nimcache so toggling the flag rebuilds cleanly.

Closes #20305
2026-07-03 10:53:03 +02:00
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 c53bd145b0 chore(ci): upgrade CI to use QT 6.11.0 2026-04-25 07:27:39 +05:30
Siddarth Kumar 86e08bbd3d chore(ci): nuke nwaku builds from pipeline 2026-03-24 18:09:16 +05:30
Siddarth Kumar e4e83fa97b ci: point to unify-credentials branch in jenkins lib
- use newer function to sign
2026-02-21 21:29:38 +05:30
jakub 6efc8a806e fix(ci): set nimcache later to avoid null value
Accessing env.WORKSPACE_TMP in parameters section gives null value.
To avoid issue we need to set it in the environment section.

We also set USERPROFILE for windows builds to fix shared location
of nimcache under user home directory.

This might be the fix we need for Windows build failures on release CI
caused by shared C:\Users\jenkins\nimcache folder.

x86_64-w64-mingw32/bin/ld.exe:
  C:\Users\jenkins\nimcache\koch_d\@mlib@sstd@sprivate@swin_setenv.nim.c.o:@mlib@sstd@sprivate@swin_setenv.nim.c:
  (.rdata$.refptr.__imp__environ[.refptr.__imp__environ]+0x0): undefined reference to `__imp__environ'
collect2.exe: error: ld returned 1 exit status

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2026-02-18 20:14:49 +01:00
marko d6d1f41a5a fix(ci): use correct nwaku version 2026-02-17 12:52:44 +01:00
Anton Iakimov 8faac9b9a8 chore(ci): remove artifacts older than 30d, keep 1 per PR 2026-01-28 11:40:59 +01:00
jakub 7efb365288 chore(ci): fix finding version on Windows platform
Otherwise we get:

+ J:Usersjenkinsworkspaceindows_x86_64_package_PR-19163_2/scripts/version.sh
  J:/Users/jenkins/workspace/indows_x86_64_package_PR-19163_2@tmp/durable-1fe5af3a/script.sh.copy: line 1:
    J:Usersjenkinsworkspaceindows_x86_64_package_PR-19163_2/scripts/version.sh: No such file or directory

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2026-01-19 20:08:14 +01:00
jakub 04f11c6d29 chore(ci): impreove getting version from script
Depends on:
https://github.com/status-im/status-jenkins-lib/pull/112

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2026-01-17 09:57:24 +01:00
Siddarth Kumar 0fdd9fda2d ci: fix android signing
- brings in status-jenkins-lib@v1.9.36
- use gradle build types for PR and Release.
- signing config moved to gradle
- simplify build App script
2026-01-12 19:27:43 +04:00
Siddarth Kumar 316ad2d92f ci: bring in jenkins lib from fix-testflight-uploads branch 2025-12-25 15:51:46 +04:00
Siddarth Kumar 1a9708fe01 ios: create and sign separate bundle ID for PRs
- points to `fix-ios-signing-with-fastlane` branch of
`status-jenkins-lib` which provides development certs for PR builds and
distribution certs for release builds.
- adds nix flake to provide ruby dependencies for `fastlane`
- adds config for new build identifier for PRs: `app.status.mobile.pr`
- swaps testflight script with fastlane action
- adds job to build iOS in release
- updates status-go to use nim-sds from
https://github.com/logos-messaging/nim-sds/pull/41
2025-12-24 16:33:32 +04:00
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
Siddarth Kumar dae83f3d72 fix: CI jobs to find artefacts after repo rename
Otherwise they end up with artefacts that contain UNKOWN in the name
2025-12-11 12:01:52 +04:00
Igor SirotinandIvan Folgueira Bande 6e1235bee0 chore: status-go with nim-sds (#19402)
* chore: enforce USE_SYSTEM_NIM=1 when building statusgo-shared-library

* chore: revert previous commit

* chore: add sds folders into STATUSGO_MAKE_PARAMS

* chore: adjust LIBSDS_LIBDIR in Makefile

* chore: add NIM_SDS_SOURCE_DIR in Jenkinsfiles

* ci: ios build NIM_SDS_SOURCE_DIR

* chore: more explicit nim-sds folder set in mobile Makefile

* chore: make sure sds cache is cleaned before pkg-macos in Makefile

This is needed to avoid compilation errors such as:
ld: building for 'macOS', but linking in object file
(/Users/ivan/.cache/nim/libsds_d/@m..@svendor@snimbus-build-system@svendor@sNim@slib@ssystem@sexceptions.nim.c.o)
built for 'iOS-simulator'

* chore: from previous commit properly make use of tab in Makefile

* chore: adjust lib path cp in mobile Makefile

* chore: mobile/Makefile hard code cp command libsds

* chore: for some unkown reason android and ios need different cp command

* chore: tackling previous Igor's comments

* chore: export NIM_SDS_SOURCE_DIR env var from Makefile

* chore: fix default NIM_SDS_SOURCE_DIR and set it ok to STATUSGO_MAKE_PARAMS

* chore: add NIM_SDS_SOURCE_DIR def in Jenkinsfile.tests-nim

* chore: update status-go

* fix; copy nimsds library on windows

* chore: update status-go to latest develop

---------

Co-authored-by: Ivan Folgueira Bande <ivansete@status.im>
2025-12-04 13:57:55 +00:00
jakub b29d71e298 fix(ci): explicitly remove workspace tmp directory
Currently the cleanWs() function does not remove @tmp dirs:

- https://github.com/jenkinsci/ws-cleanup-plugin/pull/36
- https://issues.jenkins.io/browse/JENKINS-41805

So we have to explicitly remove them ourselves.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2025-11-27 16:11:52 +01:00
Andrey Bocharnikov a30d7d6d82 fix(ci): use branch name instead of commit hash for E2E GIT_REF parameter 2025-11-08 10:25:23 +04:00
Siddarth Kumar a1dd245159 ios: produce signed build
- update status-jenkins-lib to v1.9.30 which provides iOS provisioning
profile and appstore certs.
- builds signed iOS app and pushes to testflight.
- updates testflight metadata with PR link and commit sha it was built
from
- adds `scripts/testflight-changelog.mjs` script used by CI to update PR
metadata.
- set `ITSAppUsesNonExemptEncryption` to `false`
2025-10-31 14:31:30 +04:00
Igor Sirotin f7b6e16aa8 feat: externally provided nwaku (#19124) 2025-10-30 14:06:58 +00:00
Lukáš Tinkl 928fc047bf chore(ci): use nproc in MAKEFLAGS
- instead of hardcoding 4 CPU cores
2025-10-28 12:23:01 +01:00
Siddarth Kumar dee268e221 mobile: build a signed android app
- generate signed APK for PRs
- generate signed AAB for PRs targeting release branches
- updates status-jenkins-lib to v1.9.29 which provides keystore and
credentials for signing
- rename bundle id app.status.mobile
- nuke FOREGROUND_SERVICE permission
- automatically generate versionCode based on minutes since epoch
- nuke unused mobile/android/qt5 dir
- fix path to SecureAndroidAuthentication.java
- bump nim to 2.2.4
2025-10-26 12:36:27 +04:00
marko f36318d6f2 ci: use cleanWs instead of clean-git.sh script
Probable cause of nightly builds failures when fetching submodules.

Referenced issue:
* https://github.com/status-im/infra-ci/issues/211
2025-10-24 12:51:42 +02:00
marko bec774c8c1 ci: fix the linux build pipeline
Referenced issue:
* https://github.com/status-im/infra-ci/issues/188
2025-10-03 22:38:41 +05:30
marko f2bed0722d feat(ci): move all builds to container
Referenced issue:
* https://github.com/status-im/infra-ci/issues/188
2025-10-01 15:41:56 +02: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
Siddarth Kumar 6d8d60183e ci: fix nwaku version in settings
Fixes this bug where App's version shows "-nwaku-experimental" even when
`USE_NWAKU` is not set to `true`

Fixes the name of the built binary to contain "experimental"

modify version script to force fetch tags and then describe.
2025-09-15 18:13:35 +05:30
marko cf21405ea2 feat(ci): update QT pipeline to build both Android and Linux images
- use harbor images for linux and android build
- parameterise linux and android build
2025-09-15 13:26:54 +05:30
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 7013ed347d ci: add submodule fetch stage
Fixes workspace checkout issues by disabling submodule checkout in Jenkins job and adding git submodule checkout after cleanup stage.

CI hosts would occasionally end up in a dirty state and each PR job would checkout git submodules during checkout phase. Ideally cleanup phase should run before checkout because most of the PR issues happen during checkout phase.

Some errors looked like this :

```
 > git submodule update --init --recursive vendor/nim-taskpools # timeout=10
ERROR: Checkout failed
hudson.plugins.git.GitException: Command "git submodule update --init --recursive mobile/vendors/openssl" returned status code 1:
stdout: Current branch master is up to date.
Submodule path 'mobile/vendors/openssl/gost-engine': rebased into 'ede3886cc5507c2ba000ab9b057f198da03e8766'
stderr: error: The following untracked working tree files would be overwritten by checkout:
	.github/PULL_REQUEST_TEMPLATE
	BUILD
	BUILD.generated.bzl
	BUILD.generated_tests.bzl
	CMakeLists.txt
	LICENSE
	WORKSPACE
	crypto_test_data.cc
Please move or remove them before you switch branches.
Aborting
fatal: Unable to checkout 'f1c75347daa2ea81a941e953f2263e0a4d970c8d' in submodule path 'mobile/vendors/openssl/cloudflare-quiche/quiche/deps/boringssl'
fatal: Failed to recurse into submodule path 'mobile/vendors/openssl/cloudflare-quiche'
fatal: Failed to recurse into submodule path 'mobile/vendors/openssl'
```

This also means we have to remove this setting from each job and won't have to remember to add it when making new jobs.

<img width="1332" height="680" alt="Screenshot 2025-09-09 at 5 12 39 PM" src="https://github.com/user-attachments/assets/33633b89-6ccb-457e-847d-d7034ca35be9" />
2025-09-09 18:26:03 +05:30
Siddarth Kumar 892e0b1bdd ci: fix pcsc run dir 2025-09-01 17:51:21 +04:00
vedran b226c1209b ci: update jenkins lib to v1.9.27
- https://github.com/status-im/status-desktop/issues/18346
2025-08-29 10:05:52 -03:00
Siddarth Kumar 2ad002891a ci: hack fix to set params via environment 2025-08-19 21:07:35 +05:30
Siddarth Kumar e716d9362d ci: append platform labels with nwaku 2025-08-12 18:45:13 +05:30
Siddarth Kumar 46db17b444 ci: don't trigger E2E with experimental nwaku pkg 2025-08-12 18:45:12 +05:30
Siddarth Kumar 764fafce6d ci: parameterise jenkins file for nwaku builds 2025-08-12 18:45:10 +05:30
Siddarth Kumar 02367f5da5 ci: use image with qthttpserver 2025-08-08 11:44:44 +02:00
Siddarth Kumar 7c82daeaa1 ci: disable restart from stage in jenkins
related issue: https://github.com/status-im/infra-ci/issues/202
2025-07-26 15:42:51 +05:30
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
marko a83a47b478 ci: update jenkins lib to v1.9.24
Updated jenkins lib contains credentials for Market Data Proxy which
will be injected in the desktop builds.
2025-05-22 10:49:21 +02:00
Siddarth Kumar 550fa1d5a4 ci: add cleanup stage before build 2025-04-03 17:52:36 +04:00
Siddarth Kumar c30b5475e7 feat(keycard): use bundled pcscd and psclite 2025-04-02 16:52:33 +04:00
Siddarth Kumar 814d2e7189 ci: trim VERSION for newline 2025-03-04 15:40:35 +05:30