Commit Graph
37 Commits
Author SHA1 Message Date
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 c1cb06ce3a ci: use qt image with SDK 36 2026-08-12 14:49:17 +05:30
Siddarth Kumar 6344a1c510 android: make e2e job manual
currently the android e2e job needs 4 device runners and we have only 5.
This means other android e2e jobs will just hold a jenkins executor till
the previous E2E job has finished.
https://ci.status.im/job/status-app/job/e2e/job/prs-android/
This was causing a massive queue of jobs in CI.

We can enable android e2e for PRS later when we are able to handle the
traffic, this can be done by increasing the number of runner devices,
modifying the tests to use less runners possibly just rely on the 1
runner OR just speeding up the tests themselves.
2026-08-11 17:01:45 +05:30
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
Siddarth Kumar c53bd145b0 chore(ci): upgrade CI to use QT 6.11.0 2026-04-25 07:27:39 +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
Siddarth Kumar 82f8881851 reapply docker file simplification for android QT
fixes :

```
0m=[94mqrc:/app/AppLayouts/Profile/views/EnsView.qml:4
[0m [33mtext[0m=[94m"module \"QtQml.StateMachine\" is not installed"[0m
```

and

```
E  FATAL EXCEPTION: qtMainLoopThread
Process: app.status.mobile.debug, PID: 18150
java.lang.UnsatisfiedLinkError: dlopen failed: library "libStatus
Debug_arm64-v8a.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:1097)
at java.lang.Runtime.loadLibrary0(Runtime.java:1019)
at java.lang.System.loadLibrary(System.java:1765)
at
org.qtproject.qt.android.QtLoader.loadLibraryHelper(QtLoader.java:486)
at
org.qtproject.qt.android.QtLoader.lambda$loadMainLibrary$0$org-qtproject-qt-android-QtLoader(QtLoader.java:535)
at
org.qtproject.qt.android.QtLoader$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at org.qtproject.qt.android.QtThread.lambda$run$0(QtThread.java:57)
at
org.qtproject.qt.android.QtThread$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at org.qtproject.qt.android.QtThread$1.run(QtThread.java:25)
at java.lang.Thread.run(Thread.java:1563)
```

- re applies this commit :
https://github.com/status-im/status-app/commit/9381d0d06c2bee8e902be3bcf49e9680fe055b0d

- I also adjust the qml lint job to catch this kind of import failure in
CI :
```
[2026-02-03T07:06:17.215Z] Running: QML Lint (Mobile)
[2026-02-03T07:06:17.215Z] qmllint: /opt/qt/6.9.2/gcc_64/bin/qmllint
[2026-02-03T07:06:17.215Z] Qt modules:
/opt/qt/6.9.2/android_arm64_v8a/qml
[2026-02-03T07:06:17.215Z]
[2026-02-03T07:06:17.215Z] Checking 1200 files...
[2026-02-03T07:06:33.882Z]
[2026-02-03T07:06:33.882Z] ERRORS:
[2026-02-03T07:06:33.882Z]
/home/jenkins/workspace/status-app-android/13/ui/app/AppLayouts/Profile/views/EnsView.qml:4:1:
Failed to import QtQml.StateMachine. Are your import paths set up
properly?
```
2026-02-06 13:59:20 -05:00
jakub 06089e893c Revert "ci: simplify android qt docker setup"
This reverts commit 9381d0d06c.
2026-02-02 13:43:19 -05:00
Siddarth Kumar 9381d0d06c ci: simplify android qt docker setup
- Add debug android variant for local builds.
- Fix container builds makefile target for running locally.
- Switch from compiling QT ourselves to relying on `aqtinstall`
- uses fewer qt modules
- adds cleanup stage to save space
- fix make translation target for macos
2026-02-01 10:59:22 +05:30
Anton Iakimov 8faac9b9a8 chore(ci): remove artifacts older than 30d, keep 1 per PR 2026-01-28 11:40:59 +01:00
Mag.andjakub 12854858ae ci(e2e_mobile): add Jenkinsfile and config for e2e mobile tests (#19163)
* refactor(e2e_appium): locators and app lifecycle management

- wallet locators
- app lifecycle management
- toast message handling (visibility checks and logging).
- saved addresses page

* refactor(e2e_appium): migrate to cloud reporting and enhance test assertions

- Replaced instances of LambdaTest reporting with Cloud reporting
- Assertion messages for clarity
- Updated test methods for toast handling

* chore(e2e_mobile): appium config for BrowserStack and Jenkins

* ci(e2e_mobile): add Jenkinsfile for mobile e2e tests

* ci(e2e_mobile): address review feeback

* ci(e2e_mobile): add E2E testing stage and update BrowserStack credentials

- Introduced a new E2E stage in the Android Jenkinsfile for PR builds.
- Updated BrowserStack credentials id

* ci(e2e_mobile): test result publishing

- Set PLATFORM environment variable for E2E Android tests.
- include package URL in the environment.
- build name to reflect PR number.

* ci(e2e_mobile): fix BrowserStack project name

* ci(e2e_mobile): update build type detection and improve stage names

- Renamed stages for clarity
- Refactored build type detection to use upstream job details.

* ci(e2e_mobile): Apply suggestions from code review for CHANGE_ID

Apply suggestions from code review for CHANGE_ID

Co-Authored-By: Jakub <jakub@status.im>
2026-01-21 16:38:25 +00: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 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
Siddarth Kumar c2ec8afc83 ci: unique workspaces for android 2025-10-31 12:57:19 -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
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 345f1887d3 ci: introduce package type override 2025-10-27 22:45:26 +04: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
Alex Jbanca b2d4eddc77 chore: Update app name to Status and align app package id with the bundle id
App name: Status
App package/bundle: im.status.app
2025-10-16 12:32:51 +03:00
Siddarth Kumar 894f80df33 android: use nim from nimbus-build-system 2025-10-03 22:39:00 +05:30
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
vedran 0b5f11064d chore: remove status-go mobile build logic
Move status-go build logic from mobile scripts to status-go repo.

- https://github.com/status-im/status-desktop/issues/18377
2025-09-23 13:55:02 +02:00
Siddarth Kumar c3401936b7 ci: init iOS build pipeline
- update `status-desktop/mobile/scripts/EnvVariables.mk` to use `$QMAKE`
instead of `qmake`.
- add `QMAKE` env var in `ci/jenkinsfile.android`
- add `ci/Jenkinsfile.ios` pipeline job to build the app and provide the
artifact as part of Github PR.
- update the bundle id for mobile app to `im.status.app`
2025-09-23 13:17:46 +05:30
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 0c7c285eea ci: build mobile app with secrets
Android app will now get all the keys from CI that the linux build gets.
2025-09-17 09:14:53 +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 eacf65b02b ci: job to build QT6 Image and android APK
- https://ci.status.im/job/status-desktop/job/systems/job/QT/ is set up to build our own QT6 Image from source. Running this would be a manual job and we would only need to do this when we'd have to change the version of QT.

- https://ci.status.im/job/status-desktop/job/prs/job/android/job/arm64/job/package/ is set up to build Android APK for each PR.

fixes: https://github.com/status-im/status-desktop/issues/18468
2025-09-09 17:44:12 +05:30