Document updating Cargo.lock during a version bump
This commit is contained in:
42
RELEASE.md
42
RELEASE.md
@ -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
|
||||||
|
Reference in New Issue
Block a user