65 lines
2.2 KiB
Markdown
65 lines
2.2 KiB
Markdown
## zcash_script
|
|
|
|
[![Build Status][actions-badge]][actions-url]
|
|
[![Latest Version][version-badge]][version-url]
|
|
[![Rust Documentation][docs-badge]][docs-url]
|
|
|
|
[actions-badge]: https://github.com/ZcashFoundation/zcash_script/workflows/Continuous%20integration/badge.svg
|
|
[actions-url]: https://github.com/ZcashFoundation/zcash_script/actions?query=workflow%3A%22Continuous+integration%22
|
|
[version-badge]: https://img.shields.io/crates/v/zcash_script.svg
|
|
[version-url]: https://crates.io/crates/zcash_script
|
|
[docs-badge]: https://img.shields.io/badge/docs-latest-blue.svg
|
|
[docs-url]: https://docs.rs/zcash_script
|
|
|
|
Rust bindings to the ECC's `zcash_script` c++ library.
|
|
|
|
### Cloning and checking out `depend/zcash`
|
|
|
|
Clone this repository using:
|
|
```console
|
|
git clone --recurse-submodules
|
|
```
|
|
|
|
Or if you've already cloned:
|
|
```console
|
|
git submodule update --init
|
|
```
|
|
|
|
To pull the latest version, use:
|
|
```console
|
|
git pull --recurse-submodules
|
|
```
|
|
|
|
### Updating `depend/zcash`
|
|
|
|
If you need to change the submodule's base branch:
|
|
```console
|
|
git config -f .gitmodules submodule.depend/zcash.branch <branch-name>
|
|
```
|
|
|
|
To pull in recent changes from the upstream repo:
|
|
|
|
```console
|
|
git submodule update --remote
|
|
```
|
|
|
|
To use a specific commit:
|
|
|
|
```console
|
|
cd depend/zcash
|
|
git checkout <commit-hash>
|
|
```
|
|
|
|
### Publishing New Releases
|
|
|
|
Releases for `zcash-script` are made with the help of [cargo release](https://github.com/sunng87/cargo-release).
|
|
|
|
**Checklist:**
|
|
|
|
* create a new branch batch the release commits into a PR
|
|
* update `CHANGELOG.md` to document any major changes since the last release
|
|
* open a PR to merge your branch into `master`
|
|
* locally run `cargo release -- <level>` where `level` can be `patch`, `minor`, or `major` ([source](https://github.com/sunng87/cargo-release/blob/master/docs/reference.md#bump-level))
|
|
|
|
**NOTE**: It's important to specify the level when using cargo release because of the way it implements the substitutions. We specify a number of automatic substitutions in `Cargo.toml` but they will only be applied if `cargo release` also handles incrementing the version itself, **do not increment the version by hand and then run `cargo release` or `cargo release -- release`, or it will not correctly update all version references in the codebase.**
|