Skip to content

Note for Maintainers

Wei Tang edited this page Jul 10, 2017 · 2 revisions

Some notes for maintainers.

Blockchain Regression

To run the regression tests, use regtests tool with a Geth RPC API that has debug_accountExist support. There's also automate regression tests of selected blocks extracted from previously failed block numbers. To update the automate regression tests, run regtests -r http://127.0.0.1:8545 -n res/numbers.json --record res/records.json.

Please make sure of the patch you're using when running regtests.

Release Process

We follow Cargo's Semantic Versioning for convenience of integration with Rust ecosystem, while this might subject to change.

Release usually happens in a release/v0.0 branch. Note that we only specify up to a minor version. This allows patches to be backported to the latest minor release for fixes of security bugs and others. Only one release branch should be maintained. Older release branch should be deleted to indicate that those versions are not supported any more.

For convenience, in master, crates refer to each other using path syntax. This should be changed in a release branch to use the actual version number. At the same time, crates in master should always use the next unreleased version number.

Release should use a signed git tag. That git tag should refer to the actual version pushed to Cargo.

Clone this wiki locally