nomos-node/ci
Youngjoon Lee e7d591b7bc
Mixnet v1 (#569)
* base

* Remove mixnet client from libp2p network backend (#572)

* Mixnet v1: Remove all mixnet legacies: mixnet crate, mixnode binary, tests, and docker (#573)

* Mixnet v1: Skeleton (#570)

* Use QUIC for libp2p (#580)

* Add Poisson interval function for Mixnet (#575)

* Mixnet network backend skeleton (#586)

* Libp2p stream read/write (#587)

* Emitting packets from mixclient using libp2p stream (#588)

* Handle outputs from mixnode using libp2p stream/gossipsub (#589)

* Refactor poisson (#590)

* Mix client Poisson emission (#591)

* Mix node packet handling (#592)

* Mix Packet / Fragment logic (#593)

* Move FisherYates to `nomos-utils` (#594)

* Mixnet topology (#595)

* Mix client/node unit tests (#596)

* change multiaddr from tcp to udp with quic-v1 (#607)

---------

Co-authored-by: Al Liu <scygliu1@gmail.com>
2024-03-12 15:47:35 +09:00
..
Dockerfile Bump rust (#602) 2024-03-01 13:28:05 +02:00
Jenkinsfile.docs ci: add Jenkins and Docker file for PR and doc builds (#23) 2022-12-12 21:29:23 +02:00
Jenkinsfile.nightly.fuzzy chore(ci): reuse discord send function from library 2024-02-14 19:21:39 +01:00
Jenkinsfile.nightly.integration Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00
Jenkinsfile.prs.linux remove waku from the codebase (#446) 2023-10-02 16:41:08 +08:00
Jenkinsfile.prs.macos remove waku from the codebase (#446) 2023-10-02 16:41:08 +08:00
README.md ci: add Jenkins and Docker file for PR and doc builds (#23) 2022-12-12 21:29:23 +02:00

README.md

Building nomos-research with Jenkins

This is a short introduction for developers on how to use ci folder to update build dependencies or to modify the build process.

ci/Dockerfile (Docs, linux target)

Dockerfile is used when nomos-research documentation is being built and to lint/test/build for linux target. Official rust image is used with a predefined version. In addition, golang and cargo components are downloaded when the image is being built. ghp-import dependency is added for pushing documentation back to the github repository in the gh-pages branch. In general, this file should be used just for defining dependencies. Related steps and build commands for docs and linux targets should be defined in ci/Jenkinsfile.prs.linux.

ci/Jenkinsfile.prs.docs

This file contains the configuration required for Jenkins github user to be able to push the docs to the gh-pages branch. It also defines steps for building the documentation and publishing it.

ci/Jenkinsfile.prs.linux

Two most important places in this file are environment and stages.

  • environment - variables defined here will be accessible to every stage that runs on an image built from the ci/Dockerfile
  • stages - used to group shell commands that are related to different steps and their layout reflects in the build job summary.

ci/Jenkinsfile.prs.macos

Same as in Jenkinsfile.prs.macos the only difference is that instead of Docker image, macos is using shell.nix to build a shell with all dependencies. The steps defined here should be identical or similar to what's defined in linux file, just instead of running those commands straight in sh, use nix.shell('command') wrapper.

shell.nix

Configuration file for the Nix package manager. It defines the build dependencies for macos target and can be used to manage and update the dependencies similarly to Dockerfile.