Commit Graph

101 Commits

Author SHA1 Message Date
Jakub Sokołowski 3e4e3591cd fix(ci)_: move nim cache to workspace tmp folder
An error has shown that Nim compilation uses cache folder in `jenkins` home:
```
clang: error: no such file or directory:
'/Users/jenkins/.cache/nim/nimsuggest_r/@m..@slib@swrappers@slinenoise@slinenoise.c.o'
```
This is a bad idea as parallel CI builds can result in very bizzarre bugs.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-11 13:23:35 +02: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
Anton Iakimov 9c4890698a
ci: move proxy stage setup to jenkins-lib 2024-08-28 10:30:43 +02:00
Anton Iakimov a16270dfcc
ci: set proxy env differently 2024-08-15 17:04:50 +02:00
Anton Iakimov 9ec68b8e97
ci: add api proxy stage build parameter 2024-08-15 16:02:46 +02:00
Siddarth Kumar 3caeba8783
ci: build with api-proxy credentials (#16093)
This commit points to `status-jenkins-lib` version where we provide api-proxy credentials to Jenkins in CI and the desktop build would then get these env vars 
- `STATUS_BUILD_PROXY_USER`
- `STATUS_BUILD_PROXY_PASSWORD`
2024-08-14 16:55:48 +05:30
Valentina Novgorodtceva edc7a7566b chore: disabled keycard mock in nightly build until it's fixed 2024-07-25 12:20:56 +03:00
Anastasiya Semenkevich c3761ebd61 ci: enable keycard mock lib for nightly builds 2024-07-19 16:39:40 +03:00
Anton Iakimov 6e276b605f
ci: fix more nix build issues 2024-06-27 12:16:31 +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
Siddarth Kumar 9f67616b63
chore: bump go to 1.21 (#14946) 2024-05-30 17:08:31 +05:30
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
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
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 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 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
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
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 2c5eeea503
feat(ci): add USE_MOCKED_KEYCARD_LIB parameter
It will default to `true` for Linux builds except release ones.
This setting can always be overriden manually for any build.

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

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-13 09:02:45 +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 ebc48c0072
ci: drop temporary Nim client build fix
There is no need for this fix since this was resolved in:
https://github.com/status-im/infra-ci/issues/88
https://github.com/status-im/status-desktop/pull/11955

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-04 15:53:37 +02: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 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 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 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 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
Jakub Sokołowski 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 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 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:
c00e9285ea

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
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 54bdb867bf ci: add missing copyArtifactPermission options
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-20 13:43:43 +02:00
Jakub Sokołowski f644cdc6f4 ci: extend PATH to include QTDIR on linux
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-07 13:34:21 -04: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
Jakub Sokołowski 349c83347d
ci: allow running MacOS builds on M1 Macs
This depends on installing Qt via Brew, but that creates a version mismatch,
since it's 5.15.8 and not 5.15.2, which is not optimal but works for now.

In the long term we should probably look into using Nix, or maybe aqt
will support M1 Macs, but this is not great.

Depends on:
- https://github.com/status-im/infra-ci/commit/54408b41
- https://github.com/status-im/infra-ci/commit/39d4fdef

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

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-07 14:25:34 +02:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00