Thanks for wanting to contribute! There are many ways to contribute and we appreciate any level you're willing to do.
To get started checkout issues labeled "help wanted" and "good first issue"
As a heads up, we'll be running your PR through the following CI jobs:
- warnings turned to compile errors
cargo test
rustfmt
(we recommend to setup runningrustfmt
on file save)clippy
When we're ready to release, a project owner should do the following:
- Create(checkout) a release branch (naming convention
release/vX-Y-Z
using theergo-lib
version); - install or update "cargo release" (via
cargo install cargo-release
); cargo release minor -vv
if you intend to bump a minor version or changeminor
tomajor
to bump a major version,patch
to bump a patch/hotfix version (you might want to add any crates without changes to--exclude
option list, e.g.sigma-ser
,sigma-util
, etc.)- check the output and run it with
--execute
to actually execute it(make sure that you have api token fromcrates.io
, otherwise runcargo login
first); - Build and publish npm package (
cd bindings/ergo-lib-wasm && npm run publish-nodejs && npm run publish-browser
); - Merge release branch into develop
- Merge release branch into master
- Make a github release