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>
* feat: enable wallet without network binding
* feat: make transfer network aware
* feat: allow to pass initial networks via config
* fix: nil check and feed
* feat: Add documentation with better function name
* fix: do not init the manager more than once
* fix: PR feedbacks
* Bump version
* Update Jenkinsfile.tests
* Convert int to string
Co-authored-by: RichΛrd <info@richardramos.me>
* wip
* file rename
* Adding postgres docker to jenkins test
* update and fix to jenkins file
* More fixing
* tinker
* more tinkering
* agent in stage
* agent in stage fix
* Integrated Andrea's Docker compose work
* Rework to include dockerfile into jenkins unit test
* Customer dockerfile agent
* Change to ENTRYPOINT
* No dir() in Unit Tests
* Removal dir property of dockerfile
* Added lable to agent.dockerfile
* agent set only at stage level
* Added Jakub's suggestion
* removed stage level agent
* replaced docker host name with default 127.0.0.1
* Fix of old NewWhisperEnvelope
* removed user and password settings from postgres connection
* Set explicit postgres user and password
* Change postgres creds to be more generic
* Removed unneeded docker files
* POSTGRES_HOST_AUTH_METHOD because we hate passwords
* chicken chicken chicken
* indents 2 spaces
This should fix issues with re-running builds while skipping some initial stages.
Also removes two libraries we made use of before.
Signed-off-by: Jakub Sokołowski <jakub@status.im>