Skip to content

Developer set up

ynui edited this page Jan 6, 2022 · 16 revisions

Prerequisites

For EC2 instance, please see next section.

  • Install Rust. (after first command source $HOME/.cargo/env)
  • Install Nightly Rust - don't install multirust.
  • Install GCC (check depending on your OS): E.g. sudo yum install gcc.
  • Install lib GMP (check depending on your OS): E.g. sudo yum install gmp-devel.
  • Install Neon (if necessary) npm install --global --save neon-cli@0.8.1
  • Install IntelliJ community edition.
  • Install IntelliJ Rust.
  • Set-up IntelliJ to use nightly, see Install instruction "Setting up nightly builds" here.
  • Install Cargo fmt.

EC2 Instance

sudo yum install git
curl https://sh.rustup.rs -sSf | sh
curl -s https://static.rust-lang.org/rustup.sh | sh -s -- --channel=nightly
sudo yum install gcc
sudo yum install gmp-devel

Contributor Workflow

The codebase is maintained using the "contributor workflow" where everyone contributes patch proposals using "pull requests". This facilitates social contribution, easy testing and peer review.

To contribute, the workflow is as follows:

  • Fork repository (If you are part of one of the KZen team, just clone the original repository).
  • Create topic branch: git checkout -b [TOPIC_NAME]
  • Compile: cargo build and make sure to assign all compiler errors and warning(s). (If you have an error related to a remote git repository specified in Cargo.toml, you should run cargo update).
  • Test: cargo test and make sure to assign all compiler errors and warning(s).
  • Run Cargo fmt on your repository: cargo fmt --all -- --check and make sure to fix all suggestion(s).
  • Commit patches: git commit -m "This is my change"
  • Push changes to your fork: git push
  • Create pull request: see here.
  • Document your pull request appropriately
  • Assign your pull request to yourself
  • Add reviewer(s)
Clone this wiki locally