Document updating Cargo.lock during a version bump

This commit is contained in:
Michael Vines
2018-12-20 09:03:04 -08:00
committed by Grimes
parent cb70824ed1
commit 6bb6785936

View File

@ -67,24 +67,40 @@ There are three release channels that map to branches as follows:
When cutting a new channel branch these pre-steps are required: When cutting a new channel branch these pre-steps are required:
1. Pick your branch point for release on master. 1. Pick your branch point for release on master.
2. Create the branch. The name should be "v" + the first 2 "version" fields from Cargo.toml. For example, a Cargo.toml with version = "0.9.0" implies the next branch name is "v0.9". 1. Create the branch. The name should be "v" + the first 2 "version" fields
4. Push the new branch to the solana repository from Cargo.toml. For example, a Cargo.toml with version = "0.9.0" implies
3. Update Cargo.toml on master to the next semantic version (e.g. 0.9.0 -> 0.10.0) by running `./scripts/increment-cargo-version.sh`. the next branch name is "v0.9".
5. Land your Cargo.toml change as a master PR. 1. Push the new branch to the solana repository
1. Update Cargo.toml on master to the next semantic version (e.g. 0.9.0 -> 0.10.0)
by running `./scripts/increment-cargo-version.sh`, then rebuild with a
`cargo build --all` to cause a refresh of `Cargo.lock`.
1. Push your Cargo.toml change and the autogenerated Cargo.lock changes to the
master branch
At this point, ci/channel-info.sh should show your freshly cut release branch as "BETA_CHANNEL" and the previous release branch as "STABLE_CHANNEL". At this point, ci/channel-info.sh should show your freshly cut release branch as
"BETA_CHANNEL" and the previous release branch as "STABLE_CHANNEL".
### Updating channels (i.e. "making a release") ### Updating channels (i.e. "making a release")
We use [github's Releases UI](https://github.com/solana-labs/solana/releases) for tagging a release. We use [github's Releases UI](https://github.com/solana-labs/solana/releases) for tagging a release.
1. Go [there ;)](https://github.com/solana-labs/solana/releases). 1. Go [there ;)](https://github.com/solana-labs/solana/releases).
2. Click "Draft new release". The release tag must exactly match the `version` field in `/Cargo.toml` prefixed by `v` (ie, `<branchname>.X`). 1. Click "Draft new release". The release tag must exactly match the `version`
3. If the first major release on the branch (e.g. v0.8.0), paste in [this template](https://raw.githubusercontent.com/solana-labs/solana/master/.github/RELEASE_TEMPLATE.md) and fill it in. field in `/Cargo.toml` prefixed by `v` (ie, `<branchname>.X`).
4. Test the release by generating a tag using semver's rules. First try at a release should be `<branchname>.X-rc.0`. 1. If the first major release on the branch (e.g. v0.8.0), paste in [this
5. Verify release automation: template](https://raw.githubusercontent.com/solana-labs/solana/master/.github/RELEASE_TEMPLATE.md)
and fill it in.
1. Test the release by generating a tag using semver's rules. First try at a
release should be `<branchname>.X-rc.0`.
1. Verify release automation:
1. [Crates.io](https://crates.io/crates/solana) should have an updated Solana version. 1. [Crates.io](https://crates.io/crates/solana) should have an updated Solana version.
2. ... 1. ...
6. After testnet deployment, verify that testnets are running correct software. http://metrics.solana.com should show testnet running on a hash from your newly created branch. 1. After testnet deployment, verify that testnets are running correct software.
7. Once the release has been made, update Cargo.toml on release to the next semantic version (e.g. 0.9.0 -> 0.9.1) by running `./scripts/increment-cargo-version.sh patch`. http://metrics.solana.com should show testnet running on a hash from your
newly created branch.
1. Once the release has been made, update Cargo.toml on release to the next
semantic version (e.g. 0.9.0 -> 0.9.1) by running
`./scripts/increment-cargo-version.sh patch`, then rebuild with a `cargo
build --all` to cause a refresh of `Cargo.lock`.
1. Push your Cargo.toml change and the autogenerated Cargo.lock changes to the
release branch