14 Commits

Author SHA1 Message Date
Etan Kissling
bb672a7e90
bump Jenkins build timeout ()
With the gnosis binary, building all targets sometimes exceeds the 40m.
Bump timeout to 50m.

```
Cancelling nested steps due to timeout
Sending interrupt signal to process
gcc: fatal error: Terminated signal terminated program lto1
compilation terminated.
make[2]: *** [/tmp/cctcWxAN.mk:134: /tmp/cciCtCWJ.ltrans44.ltrans.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc: fatal error: Terminated signal terminated program lto1
compilation terminated.
make[2]: *** [/tmp/cctcWxAN.mk:155: /tmp/cciCtCWJ.ltrans51.ltrans.o] Error 1
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[1]: *** [nimcache/release/nimbus_beacon_node_gnosis/nimbus_beacon_node_gnosis.makefile:3148: build] Error 1
make: *** [Makefile:699: gnosis-build] Error 2
```
2023-08-07 19:42:28 +00:00
54e1a3655e
ci: bump Jenkins maxConcurrentTotal to 9
We have added more powerful hosts with more slots(3 instead of 2)
which should be able to accomodate more Nimbus CI jobs.

https://github.com/status-im/infra-ci/issues/85

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-07-07 11:50:40 +02:00
zah
8833acbe23
Add support for using custom remote signers in local sim ()
* Add support for using custom remote signers in local sim

Other changes:

* Enable the Nimbus remote signer in the minimal simulation
* Move all log files into the `logs` folder of the simulation
* Create PID files for all processes and use them during the clean-up
  phase instead of the previous more fragile methods for killing the
  remaining processes.
2023-05-25 15:05:38 +00:00
Etan Kissling
18de7a517a
avoid polluting Jenkins CI with geth binaries ()
When `scripts/geth_binaries.sh` was updated, as a side effect of dumping
downloaded Geth tarballs / zips into the repo root directory, artifacts
for Jenkins jobs started preserving those downloads with every job,
repeatedly leading to full disks. Exclude those downloads from Jenkins.
2023-05-14 23:32:45 +02:00
Etan Kissling
5ada931c5d
add CI check for options documentation ()
* add CI check for options documentation

Ensure that documented options reflect available beacon node options.

* escape `\`

* use bash

* override `COLUMNS` for extracting help text
2023-04-10 21:12:39 +00:00
60394ba114
ci: add VERBOSITY parameter to Jenkinsfile ()
It will default to `V=0` since it's the first choice in the list.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-27 17:00:27 +01:00
Zahary Karadjov
ef619d618c
[Jenkins] Produce artifacts for the REST API test 2023-02-20 13:47:40 +02:00
Etan Kissling
c46dc3d7e8
check that tests are up-to-date in CI ()
Enforce the `AllTests-mainnet.md` files and others to be up-to-date.
2022-11-30 02:01:04 +01:00
Etan Kissling
0e32ed0cc0
cancel non-started finalization testnets on cancel ()
When cancelling the `minimal` CI finalization testnet on Jenkins, the
internal Jenkins cancellation exception is being caught by `catchError`
and the `mainnet` CI finalization testnet will still run. Replacing the
logic with `try` / `finally` instead, and moving the `archiveArtifacts`
step to the post-build (to run that even on cancellation / failure).
2022-11-18 16:08:56 +00:00
Etan Kissling
23007eac3b
finalize 🐼 transition in local testnet CI ()
When running local testnets as part of Jenkins CI, add one more epoch
to finalize the merge transition block.
2022-09-19 11:10:47 +00:00
tersec
e367f612e8
increase Jenkins timeouts by 10m () 2022-09-07 09:51:08 +00:00
5b66cd141e
ci: specify explicit throttle limits for Jenkins ()
Otherwise they appear to not have any effect:
https://issues.jenkins.io/browse/JENKINS-49173
https://github.com/jenkinsci/throttle-concurrent-builds-plugin/pull/68

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-25 16:24:02 +02:00
Etan Kissling
fd4cf35c20
fix concurrent Jenkins stages ()
The ports for the concurrently executing REST and Minimal testnet clash,
leading to some CI failures since  introduced further concurrency.
Adjusting the ports to be distinct across various tests should fix this.
2022-07-23 14:28:10 +00:00
c33989e490
ci: refactor Jenkinsfile to be a pipeline ()
Changes:
- Name local testnet output folders same as the `make` taget.
- Move both `Jenkinsfile`s to `ci` folder to avoid cluttering repo root.
- Separate builds by platform so logs from macos and linux hosts don't get mixed.
- Detect platform and architecture from Jenkins Job path to use one Jenkinsfile.
- Divide shell commands into as many stages as possible to make debugging easier.
- Generalize running testnets via a `launchLocalTestnet()` Groovy method.
- Handle uploading of results of running testnets stage-by-stage basis.
- Use `catchError()` to upload test results while marking job as failed.
- Abort previously started PR build jobs usin `disableConcurrentBuilds()`.
- Throttle jobs using the new `throttleJobProperty()` function.

Builds:
- https://ci.status.im/job/nimbus/job/nimbus-eth2/job/platforms/job/linux/job/x86_64/
- https://ci.status.im/job/nimbus/job/nimbus-eth2/job/platforms/job/macos/job/x86_64/
- https://ci.status.im/job/nimbus/job/nimbus-eth2/job/platforms/job/macos/job/aarch64/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-22 01:34:31 +03:00