logos-messaging-go-bindings/docs/contributors/continuous-integration.md
Ivan Folgueira Bande 2f6de9187f Squashed 'third-party/nwaku/' content from commit d94cb7c7
git-subtree-dir: third-party/nwaku
git-subtree-split: d94cb7c73631ffd4b934839ba58bc622d331a135
2025-10-02 11:52:12 +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.infra.status.im/job/nim-waku/

It currently consists of four jobs:

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

Configuration

The main configuration file is Jenkinsfile.release in the ci folder.

Key part is the definition of five 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.
  • GIT_REF - Git reference to build from (branch, tag, commit...)

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-waku-test',