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>
This way we can easily build an image for `spiff-workflow` for example:
```
make docker-image BUILD_TARGET=spiff-workflow DOCKER_IMAGE_NAME=statusteam/spiff-workflow
```
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 it fails with:
```
build github.com/status-im/status-go/cmd/statusd: cannot load github.com/lucas-clemente/quic-go/internal/qtls: no Go source files
```
We also add missing `g++` compiler for `go-libutp` to fix:
```
go build github.com/anacrolix/go-libutp: g++: exec: "g++": executable file not found in $PATH
```
As well as install `libgcc` and `libstdc++` to avoids failures like this:
```
Error loading shared library libstdc++.so.6: No such file or directory (needed by /usr/local/bin/statusd)
Error loading shared library libgcc_s.so.1: No such file or directory (needed by /usr/local/bin/statusd)
Error relocating /usr/local/bin/statusd: _Znwm: symbol not found
Error relocating /usr/local/bin/statusd: _ZdlPvm: symbol not found
Error relocating /usr/local/bin/statusd: _Unwind_Resume: symbol not found
Error relocating /usr/local/bin/statusd: __gxx_personality_v0: symbol not found
```
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>