Jakub Sokołowski
e08d3bd78d
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> |
||
---|---|---|
.. | ||
tests | ||
tools | ||
Jenkinsfile | ||
Jenkinsfile.android | ||
Jenkinsfile.combined | ||
Jenkinsfile.ios | ||
Jenkinsfile.tests | ||
README.md |
README.md
Description
This folder contains files defininf Jenkins pipelines that run on https://ci.status.im/.
Libraries
All Jenkinsfile
s 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.