This commit:
- updates status-go to point to https://github.com/status-im/status-go/pull/6258
- updates nix derivation to switch to go 1.22
- swaps `sc3md` for `sc5md`
- updates docker image used by jenkins for linux jobs to image built with go 1.22.
- updates, linux, windows and MacOS build scripts to use go 1.22
This fixes issues like :
11:16:59 + s3cmd --stats --acl-public --no-preserve --host=ams3.digitaloceanspaces.com '--host-bucket=%(bucket)s.ams3.digitaloceanspaces.com' put pkg/StatusIm-Desktop-250205-101034-e6dfac-pr17210-aarch64.dmg s3://status-im-desktop-prs/
11:16:59 /opt/homebrew/Cellar/s3cmd/2.4.0_1/libexec/lib/python3.13/site-packages/S3/S3Uri.py:122: SyntaxWarning: invalid escape sequence '\.'
11:16:59 m = re.match("(.*\.)?s3(?:\-[^\.]*)?(?:\.dualstack)?(?:\.[^\.]*)?\.amazonaws\.com(?:\.cn)?$",
11:16:59 /opt/homebrew/Cellar/s3cmd/2.4.0_1/libexec/lib/python3.13/site-packages/S3/S3Uri.py:170: SyntaxWarning: invalid escape sequence '\w'
11:16:59 _re = re.compile("^(\w+://)?(.*)", re.UNICODE)
11:16:59 /opt/homebrew/Cellar/s3cmd/2.4.0_1/libexec/lib/python3.13/site-packages/S3/FileLists.py:525: SyntaxWarning: invalid escape sequence '\*'
11:16:59 wildcard_split_result = re.split("\*|\?", uri_str, maxsplit=1)
11:17:00 ERROR: SSL certificate verification failure: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1018)
- we also bump nix interpreter version to 2.24.11
- we also use a newer image which has support for nix-shell since sc5cmd needs a nix-shell
* chore: identify version numbers using a git tag
- remove VERSION file
- expose the `GIT_COMMIT`so that we can properly construct the web links
when the user clicks the version number in Settings/About
- some smaller cleanups and warning fixes
Fixes#12349
* fix_: ci artifact version and use version scripts
---------
Co-authored-by: Igor Sirotin <sirotin@status.im>
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>
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`
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>
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>
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>
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>
- 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_`.
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>
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>