status-react/ci
Jakub Sokołowski e08d3bd78d
ci: build generic status-go and all shells
When discussing caching of `status-go` with Sid I noticed that the build
we cache daily created from our nightly build is different from the
build we create locally due to a single input.

In a release CI host we can see the IPFS URL is that of Infura:
```
 > find /nix/store -maxdepth 1 -name '*-status-go-*android' | tail -n1
/nix/store/2cc8ilhx5g3k2awbn4sla61n4cml2405-status-go-0.130.1-d2cce5e-android

 > RESULT=$(find /nix/store -maxdepth 1 -name '*-status-go-*android' | tail -n1)

 > nix show-derivation $RESULT | tr ' ' '\n' | grep IpfsGateway
github.com/status-im/status-go/params.IpfsGatewayURL=https://status-im.infura-ipfs.io/ipfs/
```
But for a local build the URL is the default, which is our own gateway:
```
 > nix-build --no-out-link -A targets.status-go.mobile.android
/nix/store/1p53m7a6y1kg3vcyd8d06scf3bsyn5rk-status-go-0.157.2-47711c4-android

 > RESULT=$(nix-build --no-out-link -A targets.status-go.mobile.android)

 > nix show-derivation $RESULT | tr ' ' '\n' | grep IpfsGateway
github.com/status-im/status-go/params.IpfsGatewayURL=https://ipfs.status.im/
```
This difference causes builds of `status-go` that get uploaded to our
Nix cache to not match what developers locally would build, which
results in a cache miss.

This changes the Nix cache CI jobs to instead of building only dependencies
(`buildInuts`) to simply build the generic versions of `status-go` without
nightly specific inputs.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-20 13:55:06 +02:00
..
tests ci: set e2e/status-app-prs timeout to 90 minutes (#16158) 2023-06-06 12:36:24 +02:00
tools ci: build generic status-go and all shells 2023-06-20 13:55:06 +02:00
Jenkinsfile remove old jenkisnfiles 2018-09-04 07:39:40 -04:00
Jenkinsfile.android nix: upgrade interpreter from 2.11.1 to 2.14.1 2023-06-19 10:58:56 +02:00
Jenkinsfile.combined ios: replace Diawi Fastlane plugin that disappered 2023-05-24 10:55:38 +02:00
Jenkinsfile.ios nix: upgrade interpreter from 2.11.1 to 2.14.1 2023-06-19 10:58:56 +02:00
Jenkinsfile.tests nix: upgrade interpreter from 2.11.1 to 2.14.1 2023-06-19 10:58:56 +02:00
README.md ci: upgrade jenkins lib to 1.2.12 to generalize GH release 2021-04-19 11:47:34 +02:00

README.md

Description

This folder contains files defininf Jenkins pipelines that run on https://ci.status.im/.

Libraries

All Jenkinsfiles contain the following line:

library 'status-jenkins-lib@master'

Which loads the used methods - like nix.shell() - from a separate private repo:

https://github.com/status-im/status-jenkins-lib

This is done to improve security of our CI setup.