Commit Graph

41 Commits

Author SHA1 Message Date
Anastasiya Semiankevich 5b30d25387 chore: add more logging to QT components 2024-06-26 11:19:06 +03:00
Valentina Novgorodtceva 40bcf33ffb chore: added global timeout so any test would fail in case it is stuck and takes more than 3 minutes 2024-06-24 16:24:37 +03:00
Anastasiya Semenkevich 5b729557f5 Update Jenkinsfile.tests-e2e 2024-06-24 16:24:37 +03:00
Anastasiya Semenkevich 98f6f1df9c Update Jenkinsfile.tests-e2e 2024-06-24 16:24:37 +03:00
Anastasiya Semenkevich b97c9ba057 more debug with debug plugins 2024-06-24 16:24:37 +03:00
Anastasiya Semenkevich a6c996e841 chore: set qt logging rules env var 2024-06-24 16:24:37 +03:00
Valentina Novgorodtceva b3e6d49915 chore: added global timeout so any test would fail in case it is stuck and takes more than 3 minutes 2024-06-24 16:24:37 +03:00
Siddarth Kumar 5bdda2e6d9
e2e: specify linux platform for QT (#15268)
In this commit we specify `QT_QPA_PLATFORM` to  `linuxfb`
reference -> https://doc.qt.io/qt-5/embedded-linux.html#linuxfb
This ensures we do not rely on `xcb` for e2e tests on linux hosts.

Helps us fix the following error :
```
"Could not load the Qt platform plugin "xcb" in "" even though it was found."
```
2024-06-20 17:05:04 +05:30
Anton Iakimov cb105b9f7d
chore(ci): set PR E2E tests timeout to 30 min 2024-06-14 11:18:17 +02:00
Jakub Sokołowski c8ed4a37c4
chore(ci): fix e2e test directories and build path
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-06-03 10:02:58 +02:00
Jakub Sokołowski 568bf8e975
chore(ci): drop old E2E tests in favor of new ones
It's about time we stop running two suits of end-to-end tests.

New end-to-end tests are being developed in a separate repository:
https://github.com/status-im/desktop-qa-automation

And are supposed to be more robust and have a cleaner codebase.

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

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-12 16:27:42 +01:00
Jakub Sokołowski 55f6c64b48
chore(ci): remove obsolete desktop-e2e-old CI label
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-12-06 15:02:36 +01:00
Anastasiya Semenkevich d3a0c95979 chore: update to new squish version 2023-12-01 21:51:21 +03:00
Dario Gabriel Lipicar faf572308c chore(ci): bump status-jenkins-lib to include rarible api keys 2023-11-27 22:19:44 -03:00
Jakub Sokołowski 074ce22d6e
chore(ci): add Sepolia API keys as on credential
Requires:
https://github.com/status-im/status-jenkins-lib/pull/81

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-25 12:33:28 +01:00
Jakub Sokołowski f8d78cdb95
chore(test): drop usage of ganache in old E2E tests
The Ganache tool has been replaced by Hardhat:
https://consensys.io/blog/consensys-announces-the-sunset-of-truffle-and-ganache-and-new-hardhat

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-16 12:21:25 +01:00
Jakub Sokołowski b78d158a4b fix(ci): run old e2e on dediated hosts
For debugging possible delays caused by old and new e2e jobs running
on the same CI host.

Related to:
https://github.com/status-im/desktop-qa-automation/pull/298

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-13 12:35:09 +03:00
Jakub Sokołowski dd2b58a7f5
chore(ci): upgrade Jenkins library to 1.8.0
This version introduces a bunch of changes so I want to test them
separately.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-26 23:11:23 +02:00
Sale Djenic f88c23dc7b refactor(@desktop/general): env variables sorted and CL args introduced
- Necessary env variables to build the app:
STATUS_BUILD_INFURA_TOKEN
STATUS_BUILD_INFURA_TOKEN_SECRET
STATUS_BUILD_POKT_TOKEN
STATUS_BUILD_OPENSEA_API_KEY
STATUS_BUILD_ALCHEMY_ETHEREUM_MAINNET_TOKEN
STATUS_BUILD_ALCHEMY_ETHEREUM_GOERLI_TOKEN
STATUS_BUILD_ALCHEMY_ARBITRUM_MAINNET_TOKEN
STATUS_BUILD_ALCHEMY_ARBITRUM_GOERLI_TOKEN
STATUS_BUILD_ALCHEMY_OPTIMISM_MAINNET_TOKEN
STATUS_BUILD_ALCHEMY_OPTIMISM_GOERLI_TOKEN

- The list of available env variables as well as CL arguments can be seen running
the app providing `--help` argument. All env vars are prefixed with `STATUS_RUNTIME_`.
2023-10-24 13:16:58 +02:00
Jakub Sokołowski 8caa72c3b5
fix(ci): use linux.bundle() to add credentials
Otherwise none of these credentials are present:
https://github.com/status-im/status-jenkins-lib/blob/master/vars/linux.groovy

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-24 11:43:58 +02:00
Jakub Sokołowski cefafbccc6
chode(ci): drop outdated fix for client builds
This hack was necessar before the proper fix was applied in:
https://github.com/status-im/status-desktop/pull/11955

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-16 17:08:39 +02:00
Jakub Sokołowski ac935b00d7
chore(e2e): rename TEST_ENVIRONMENT to STATUS_RUNTIME_TEST_MODE
Because the environment variable name is far too generic and barely
means anything. It needs to clearly indicate that it's supposed to be
used at runtime and it changes how the Status app behaves.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-13 09:02:44 +02:00
Dario Gabriel Lipicar 92b2a209a2 ci: use new Alchemy API keys for Ethereum 2023-10-05 10:29:48 -03:00
Jakub Sokołowski 0067904404
ci: use new OpenSea API keys
They are split by both platform and build type.

Depends on:
https://github.com/status-im/status-jenkins-lib/pull/74

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-09-29 16:32:59 +02:00
Anton Iakimov 2c50004275
ci: update jenkins lib 2023-08-15 17:38:58 +02:00
Anton Iakimov dcfebbcb9e
ci: switch altool to notarytool 2023-08-10 14:31:17 +02:00
Jakub Sokołowski 238a18b462 ci: pass RELEASE parameter to child jobs from parent
This is a possible fix for issues with `x86_64` app failures:
https://github.com/status-im/status-desktop/issues/11762

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-08-03 11:07:54 +03:00
Jakub Sokołowski 7f27ea593d
ci: fix use of release Infura key for E2E runs
Depends on: https://github.com/status-im/status-jenkins-lib/pull/71

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-08-01 18:16:53 +02:00
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
Jakub Sokołowski 8febd4d53d
ci: bump client build retries to 20
10 is just not enough

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-27 13:37:52 +02:00
Jakub Sokołowski a5ba253730
ci: retry nim_status_client build 3 times
This is a temporary stop-gap fix for a known linux build issue:
https://github.com/status-im/infra-ci/issues/88

Since currently this issue is very hard to reproduce and there is no
good solution in sight this should minimize the pain caused by it.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-26 20:00:46 +02:00
Jakub Sokołowski a073a3ff6c ci: disable QML cache to avoid stale cache
Possible fix for random build crashes on Linux:
https://github.com/status-im/infra-ci/issues/88

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-14 14:18:57 +02:00
Lukáš Tinkl 9aeba367df fix: download remote image URLs in DOS/C++
this should resolve the CI issues in `e2e` target by moving away the
httpclient NIM impl to DOS (C++)
2023-06-08 20:46:06 +02:00
Lukáš Tinkl 1c0a71218e fix(e2e): resolve dynlib OpenSSL issues
by explicitely specifying `-d:useOpenssl3`

cf https://github.com/status-im/status-desktop/pull/9428#issuecomment-1425581979
2023-06-08 15:33:46 +02:00
Jakub Sokołowski ced3242cdb ci: add NIMFLAGS parameter to jobs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-06 17:48:44 +02:00
Jakub Sokołowski 9993685b5a
ci: add Alchemy credentials, update Infura
Was supposed to be done in:
https://github.com/status-im/status-desktop/pull/10338
But it was merged without those changes.

Depends on:
https://github.com/status-im/status-jenkins-lib/pull/62

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-22 11:09:02 +02:00
Jakub Sokołowski 4bd81e8a9a ci: force default Squish params for PR jobs
This way we prevent situation in which a developer or QA engineer runs a
custom job with adjusted parameters, and then all following jobs use
those modified parameters implicitly. The more sane behavior is to
always revert to defaults for PR builds, but remember last used
parameters for non-PR builds.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-20 13:43:43 +02:00
Jakub Sokołowski 1e2e7075d5 ci: add suite and tags parameters to e2e CI job
Allows for easier running of individual test suites and selecting tags.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-14 18:15:05 +02:00
Jakub Sokołowski 3013fb8faa
ci: run e2e tests for release and master builds
Useful for tracking down which commit introduced a breaking change.

I'm lowering `maxConcurrentTotal` limit for e2e parallel build since the
release builds on `ci.infra.status.im` do not share the same throttling
limits across Jenkins instances, so we can hit a licenses usage limit.

Also increasing number of builds to keep to 30.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-14 16:50:38 +02:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Jakub Sokołowski 1f91bbc724
ci: fix typo in arch, add tests prefix to names
The symlinks are temporary to avoid issues in PRs that won't be rebased
right away. We can remove them later.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-07 17:40:34 +02:00