Commit Graph

46 Commits

Author SHA1 Message Date
Jakub Sokołowski c72f491324
fix(ci)_: remove workspace and tmp dir
This ensures we do not encounter weird errors like:
```
+ ln -s /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907 /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go
ln: failed to create symbolic link '/home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go': File exists
script returned exit code 1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-24 01:40:04 +02:00
Igor Sirotin c1dd9397f7
refactor_: remove generated files from source control (#5878)
* fix_: gitignore generated files

* chore_: delete generated files

* fix_: update go generate instructions

* feat(Makefile)_: clean-generated-files target

* feat(Makefile)_: `generate` target

* fix(Makefile)_: dependent generate target

* ci_: run generate, update docker file deps

* fix(Makefile)_: remove `clean-generated-files` target

* fix(Makefile)_: simpler GO_GENERATE_CMD arg

* fix_: temp workspace GO_GENERATE_FAST_DIR
2024-10-03 20:59:44 +01:00
Jakub Sokołowski bc984e0cb1
chore(ci)_: fix formatting, bump library version
Also drop unused `_assets/ci/validate-vendor.sh` script.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-08-20 09:40:22 +02:00
Igor Sirotin ef85895f65
fix_: pass proper version to params (#5735)
* fix_: pass proper version to params

* fix_: use --dirty flag

* fix_: delete version_test

* fix_: pass proper version to artifacts
2024-08-19 16:47:11 +01:00
Jakub Sokołowski 5fd1c06bce
fix(ci)_: bump lib to 1.9.1 to make uploads public
Depends on:
https://github.com/status-im/status-jenkins-lib/commit/ab9aa93c

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-07-01 19:33:26 +02:00
Jakub Sokołowski 6e52565356
feat(ci)_: use s5cmd instead of s3cmd
It's actively maintained and has better concurrency support.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-07-01 09:49:10 +02:00
Jakub Sokołowski 769ea7799b
feat(ci)_: add ansiColor(xterm) for nice colors
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-07-01 09:47:53 +02:00
Jakub Sokołowski b6d2b9eb53
fix(ci)_: fix Nix version label and bump library
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-06-26 17:55:26 +02:00
Alexis Pentori f9df853e4a
nix: Updating Nix Shell and Makefile to use nix-shell
Signed-off-by: Alexis Pentori <alexis@status.im>
2024-04-09 12:49:06 +03:00
Anton Iakimov c3240b296c
ci: cleanup more build artifacts
Should be cleaning artifacts for more than 1+1 build for each branch.
2024-02-28 15:47:23 +01:00
Jakub Sokołowski e6db622cdb
chore(ci): upgrade from nix 2.14 to 2.19
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-13 19:46:43 +01:00
Jakub Sokołowski e53f31ff1f
ci: update Jenins CI xcode label to use 15.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-01-11 16:32:56 +01:00
Jakub Sokołowski 568371e836
chore(ci): update Nix Jenkins label to 2.14 version
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-11-29 15:15:51 +01:00
Anton Iakimov d1a9ad599c
feat: detect flaky tests
This reverts commit f12803ec95.
2023-11-21 17:03:37 +01:00
Anton Iakimov f12803ec95
Revert "feat: detect flaky tests"
There are signs that test runs became unstable.
Might be related to this commit.

This reverts commit 9f168eacea.
2023-11-21 16:34:43 +01:00
Anton Iakimov 9f168eacea
feat: detect flaky tests 2023-11-20 15:08:51 +01:00
Ivan Belyakov cb3a88f93a fix(build): avoid removing untracked git changes by `make clean`
Use `make deep-clean` for deep cleaning
2023-11-03 07:37:48 +01:00
Jakub Sokołowski c0c74010e7
ci: set GOCACHE to ws tmp to avoid cache poisoning
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-08-18 18:01:19 +02:00
Jakub Sokołowski 589cc965e3
ci: add timeouts to all Jenkinsfiles
This is especially important for tests.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-05-29 12:40:08 +02:00
Jakub Sokołowski c8161a5fa4
ci: upgrade Xcode version required to 14.3
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>
2023-04-28 11:02:51 +02:00
Jakub Sokołowski 124dd73928
ci: drop go-1.19 label, Nix provides correct Go
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-19 20:18:10 +02:00
RichΛrd ba1ba1ac02
chore: use go 1.19 and bump go-libp2p (#3371)
* chore: use go 1.19 and bump go-libp2p

* chore: bump golangci-lint

* chore: update go version in shell.nix
2023-04-07 20:23:07 +02:00
Jakub Sokołowski 22bc76c39f
ci: use Nix shell for Linux library builds
Just noticed that was the only one not using it.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-06 01:12:14 +02:00
Jakub Sokołowski 34f7354e6c
ci: upgrade Jenkins library to fix getting version
Fixed in:
https://github.com/status-im/status-jenkins-lib/pull/56

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-22 13:29:28 +01:00
Jakub Sokołowski 08403df4c0
ci: use M1 Macs for iOS builds
Should be faster, and is the same a how we do it for mobile app.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-16 11:52:48 +01:00
Jakub Sokołowski 0048b70466
ci: use WORKSPACE_TMP for TMPDIR to not abuse /run
Because a lot of tests use `MkdirTemp` and do not clean up.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-01-03 16:54:22 +01:00
Jakub Sokołowski 9dd80e7f1e
ci: use Nix shell to provide Android SDK for builds
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>
2022-12-05 15:48:27 +01:00
Jakub Sokołowski 5b941cab0c
ci: drop unnecessary go get command
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>
2022-10-24 11:26:38 +02:00
Andrea Maria Piana 4d15ae8a85 Upgrade to go 1.18 2022-05-11 12:39:54 +01:00
Jakub Sokołowski 57e5fd66fa ci: pin builds to hosts with specific Go version
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>
2022-05-11 12:25:35 +02:00
Jakub Sokołowski 8089c03464 ci: specify macos host architecture in labels
Since now we have a 5th Gen Mac Mini with `arm64` M1 CPU.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-11-29 11:34:51 +01:00
Jakub Sokołowski bbafc704b1 ci: fix release process broken by missing suffix
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>
2021-09-29 08:51:32 +02:00
Jakub Sokołowski 116f76e189 Makefile: pin tool versions, use go install
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>
2021-09-17 14:39:30 +02:00
Jakub Sokołowski 91620b9982 ci: refactor to use status-jenkins-lib
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>
2021-05-10 14:04:55 +02:00
Jakub Sokołowski aab93a6abb ci: lower number of remembered jobs to 5
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-03-05 09:11:23 +01:00
Jakub Sokołowski 7ba89867ac ci: keep only last 10 builds to reduce size
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-09-08 19:49:24 +02:00
Jakub Sokołowski 652d8a67b6 use out for output, use CGO_ENABLED=1 and GO111MODULE=off for Android and iOS (#1574) 2019-08-20 09:05:15 +02:00
Jakub Sokołowski 5f763439cb add a check for already existing release tag
also run cleanup in post-always Jenkinsfile block

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-30 09:26:34 -04:00
Jakub Sokołowski 012a1b54bc add /usr/local/go/bin as proper Go path
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-06-12 13:12:00 +02:00
Jakub Sokołowski 2af27dc6b3 build regular linux binary with xgo for uploading to GitHub
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-14 18:14:02 +02:00
Jakub Sokołowski b80a9f5aaa add explicit TMPDIR, otherwise go get fails
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-28 09:55:34 +01:00
Jakub Sokołowski cbe50f557c move running tests to a separate jenkins job
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-05 08:11:32 +01:00
Jakub 0238d84924 declare all parameters, fix names of files on release (#1392)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-25 15:59:12 +01:00
Jakub Sokołowski 51ff6395b8 fix env variables pointing at android ndk for gomobile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-25 12:45:06 +01:00
Jakub Sokołowski de269e5830 add build status notifications like in status-react
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-11 17:16:21 +01:00
Ivan Daniluk 4f3f5ee574 Gomobile support (#1164) 2019-02-01 18:02:52 +01:00