Please follow the guidelines in the CONTRIBUTING.md document.
We use cargo
to build this repo. Make sure you have rust stable installed. To build the repo:
cargo build
There are two suites of tests that can be executed from this repo; the regular cargo tests and the ic-ref tests. In order to run the ic-ref tests, you will need a running local reference server. If you do not have one, those tests will be ignored.
Using the zzz-release
binary here (not available on crates.io), one can automatically update
the versions of packages based on the Git history. For example, any commit that starts with
feat:
will update the minor version of packages which files were changed. Commits starting
with fix:
or which dependencies were changed will update their patch version.
To run, simply do
cargo run --bin zzz-release && cargo build
If there are any errors (e.g. the workspace is modified locally), an error will be given. Otherwise by default a git commit will be made, which needs to be pushed (and a PR created).
This repo has multiple packages in its Cargo workspace.