nwaku/docs/contributors/continuous-integration.md
Daniel Kaiser 42f48a6892
chore(docker): use NIMFLAGS instead of NIM_PARAMS (#961)
NIM_PARAMS is and internal variable.
NIMFLAGS should be used outside of nimbus build system.

includes:

* fix(docker): copy RLN parameters.key into the container
* chore(makefile): NIMFLAGS in docker img rule
2022-05-17 21:11:07 +02:00

1.4 KiB

Description

This document describes the continuous integration setup for nim-waku.

Details

The CI setup exists on the Status.im Jenkins instance:

https://ci.status.im/job/nim-waku/

It currently consists four jobs:

  • manual - For manually executing builds using parameters.
  • deploy-v1-test - Builds every new commit in master and deploys to wakuv1.test fleet.
  • deploy-v2-test - Builds every new commit in master and deploys to wakuv2.test fleet.
  • deploy-v2-prod - Currently has no automatic trigger, and deploys to wakuv2.prod fleet.

Configuration

The main configuration file is Jenkinsfile at the root of this repo.

Key part is the definition of four parameters:

  • MAKE_TARGET - Which Makefile target is built.
  • IMAGE_TAG - Tag of the Docker image to push.
  • IMAGE_NAME - Name of the Docker image to push.
  • NIMFLAGS - Nim compilation parameters.

The use of ?: Elvis operator plays a key role in allowing parameters to be changed for each defined job in Jenkins without it being overridden by the Jenkinsfile defaults after every job run.

defaultValue: params.IMAGE_TAG ?: 'deploy-v2-test',