Because most of those functions just obscure what's happening.
Also formatting.
Also, it appears Jenkins sets `params` on first run, but not `env`
variables from those `params`.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Otherwise we can't run tests in parallel on the same host. Also the
container name has to be different depending on executor.
Resolves errors like:
```
docker: Error response from daemon: Conflict.
The container name "/status-go-test-db" is already in use by container "123...".
You have to remove (or rename) that container to be able to reuse that name.
```
Resolves: https://github.com/status-im/status-go/issues/4040
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Linting tools should already be installed by Nix, and we should use
them.
Also switching most shells to pure mode to see what happens.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
The test running time can be a bit unpredictable due to server load,
which can result in tests that finish in 5 minutes, or over 20.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Using `sandbox: false` for `nix.shell()` call to avoid failures in
Xcode wrapper derivation due to missing permissions:
```
error: builder for '/nix/store/xxx-xcode-wrapper-14.3.drv' failed with exit code 1;
last 2 log lines:
> /nix/store/yyy-stdenv-darwin/setup: line 1391: /nix/store/yyy-xcode-wrapper-14.3/bin/xcodebuild: Operation not permitted
> We require xcodebuild version: 14.3
```
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Otherwise we end up with leftover containers hanging around:
```
admin@linux-03.he-eu-hel1.ci.devel:~ % d ps -a
CONTAINER ID NAMES IMAGE CREATED STATUS
6c683f3083bf boring_yonath postgres:9.6-alpine 20 minutes ago Created
b3d462925a91 dazzling_albattani postgres:9.6-alpine 7 days ago Created
```
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Installing the SDK via Ansible is prone to error and not exactly
reproduceable. This way we can also track the exact tooling version as
used in Status Mobile app:
https://github.com/status-im/status-mobile/blob/develop/nix/pkgs.nix
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Not sure why that was added at some point, but it doesn't seem
necessary, and even if it was `go install` should be used.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Otherwise Go version upgrades are a pain due to randomly hitting a host
with newer version of Go compiler.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This fixes a type of CI failure:
https://ci.status.im/job/status-go/job/manual/1010
Which results in:
```
java.lang.NoSuchMethodError: No such DSL method 'suffix' found among steps ...
```
Also use release functions provided by `status-jenkins-lib`.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Using latest version every time is just asking for weird random issues.
This commit in `gomobile` has made Go `1.16` required:
80cb72e7af
Since we upgarded Go to 1.16 on CI hosts we can now use the recommended
method of installing tools, which is using `go install`.
In addition to that I've pinned other tools that we install to specific
versions, and dropped use of `modvendor` fork thanks to merging of:
https://github.com/goware/modvendor/pull/13
Signed-off-by: Jakub Sokołowski <jakub@status.im>