Commit Graph

203 Commits

Author SHA1 Message Date
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 dbbe88bc83
feat(ci): use same commit as PR for e2e tests
This way fixes to tests can be applied in the same PR.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-06-07 14:07:24 +02:00
Jakub Sokołowski 99d2f6e690 fix(ci): prefix PATH with correct Go compiler path
Otherwise we end up with weird errors like:
```
status-go/go.mod:5: unknown directive: toolchain
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-06-07 12:07:04 +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
Siddarth Kumar 9f67616b63
chore: bump go to 1.21 (#14946) 2024-05-30 17:08:31 +05:30
Jakub Sokołowski ffb9fecf2b
fix(ci): add Go version label for Windows CI builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-28 17:43:50 +02:00
Jonathan Rainville 685b83d56d chore: update icons to use the new multicoloured Status logo
Fixes #14531
2024-05-08 10:22:34 -04:00
Anton Iakimov 2de601c293
ci: add a combined job parameter to choose E2E git ref 2024-04-23 11:37:14 +02:00
Anton Iakimov e251d5907d
ci: add a comment about windows workspace cleanup 2024-04-16 18:33:28 +02:00
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 1851838e64
chore(ci): bump jenkins lib and rename TARGET
Had to be changed to `PLATFORM` due to conflict of `TARGET` with our Nix
shell setup in `status-mobile` and `status-go`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-03-27 13:31:33 +01:00
Jakub Sokołowski 97b02e1f04
chore(ci): do full Windows workspace cleanup
If we don't we regularly get weird Git failures on Windows like:
```
fatal: Unable to find current revision in submodule path 'vendor/qzxing/tests/resources'
fatal: Failed to recurse into submodule path 'vendor/qzxing'
```
Or
```
stderr: fatal: Unable to create '.../.git/index.lock': File exists.
```
Which are very annoying and require manual workspace purge by infra team.

Many of you will get annoyed with resulting slower checkouts
on subsequent builds, but that's a price I'm willing to pay.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-03-08 21:18:58 +01:00
Anton Iakimov 11bfc84155
ci: cleanup more build artifacts
Should be cleaning artifacts for more than 1+1 build for each branch.
2024-02-28 15:56:40 +01:00
Anton Iakimov 00f1b10b0e
Revert "ci: cleanup more build artifacts"
This reverts commit df4e115c6e.
2024-02-28 15:53:08 +01:00
Anton Iakimov df4e115c6e
ci: cleanup more build artifacts
Should be cleaning artifacts for more than 1+1 build for each branch.
2024-02-28 15:44:58 +01:00
Jakub Sokołowski a27e447f11
chore(ci): change RELEASE into INCLUDE_DEBUG_SYMBOLS
This way it actually reflects the purpose accurately and allows us to
build without debug symbols in CI without pulling in release credentials.
https://github.com/status-im/status-desktop/issues/13079

The only utility for `RELEASE` parameter is inheriting it
from the parent meta-job(`ci/Jenkinsfile.combined`).

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-26 10:16:03 +01:00
Jakub Sokołowski 1410b03dd3
chore(ci): reuse discord send function from library
Provides more info and requires less boilerplate.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-14 16:42:27 +01:00
Anastasiya Semenkevich 0a0466a7a3
ci: fix leftover to allow tests running in nightly
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-13 12:29:35 +01: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 dffa404fec
fix(ci): run only critical path of new e2e for releases
The full suite is unstable and causes frequent timeouts currently.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-08 12:19:27 +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
Anastasiya Semenkevich b76f55655e chore: try to use filename as a test run name 2023-11-22 13:20:26 +03:00
vlado@status.im 066c174600 chore: Generation of timestamp in Tests
#320
2023-11-22 13:20:26 +03:00
Anastasiya Semenkevich c9fb3c5746 chore: keycard mocked lib is false by default
Disabling to build Linux artefacts with Keycard mock lib, as it may be the cause of tests being stuck
2023-11-21 20:33:29 +03:00
Jakub Sokołowski 58dbba1a21 fix(ci): archive copied artifacts right away
This way they are available earlier for E2E tests.
Also bump general job timeout.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-21 13:38:01 +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
Vladimir Druzhinin ee4077d673
chore: Generate test run name for Test Rail (#12757)
Co-authored-by: vlado@status.im <Vladimir Druzhinin>
2023-11-16 10:23:45 +01:00
vlado@status.im 7936547288 chore(e2e): Generate name of Nightly run for TesRail
#276
2023-11-13 15:54:00 +03: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 d2439cdf15
fix(ci): archive artifacts in pkg folder
This allows jenkins.copyArts() to work with meta-jobs.

Required for:
https://github.com/status-im/desktop-qa-automation/pull/270

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-07 10:05:46 +01:00
Jakub Sokołowski 9e8796f161
feature(ci): set build description even if it fails
QA needs easier access to public URLs from DigitalOcean spaces, and when
this meta-job fails the URLs are buried within child jobs and hard to access.

This not only sets the description if build fails, it sets it after
every single child build finishes.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-04 12:17:16 +01: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
Jakub Sokołowski cfd82ee094
feat(ci): trigger E2E from meta build for releases
The method of triggering new E2E builds from the Linux build makes sense
for PRs, but doesn't make as much sense for nightly or release builds.

By triggering it this way we will see the result as part of the whole
build that includes all platforms and all tests.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-26 22:11:41 +02:00
Igor Sirotin 8cee3f500a chore(macos): add entitlements required for squish
And CI parameter to override the default entitlements.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-26 21:17:09 +03:00
Jakub Sokołowski cb703a44a4
fix(ci): use getFullDisplayName()
Since getProjectName() is not available for all types returned from
utils.parentOrCurrentBuild(), which can result in a crash.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-26 00:12:49 +02:00
Jakub Sokołowski 1072033ef1
fix(ci): use getProjectName() to get parent name
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-25 18:49:45 +02:00
Jakub Sokołowski 0592154a33
fix(ci): missing module name for parentOrCurrentBuild
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-25 17:25:42 +02:00
Jakub Sokołowski 6ab2873742
feat(ci): trigger new E2E run after Linux build
We run `prs` job for PRs and `nightly` for... nightly.

Depends on:
https://github.com/status-im/desktop-qa-automation/pull/195

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-24 14:18:58 +02: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
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