Clarify release instructions (#3792)
This commit is contained in:
parent
68fc303b9b
commit
7afd8644b3
30
RELEASE.md
30
RELEASE.md
|
@ -63,20 +63,25 @@ There are three release channels that map to branches as follows:
|
||||||
|
|
||||||
### Changing channels
|
### Changing channels
|
||||||
|
|
||||||
When cutting a new channel branch these pre-steps are required:
|
#### Create the new branch
|
||||||
|
|
||||||
1. Pick your branch point for release on master.
|
1. Pick your branch point for release on master.
|
||||||
1. Create the branch. The name should be "v" + the first 2 "version" fields
|
1. 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
|
from Cargo.toml. For example, a Cargo.toml with version = "0.9.0" implies
|
||||||
the next branch name is "v0.9".
|
the next branch name is "v0.9".
|
||||||
1. Push the new branch to the solana repository
|
1. Note the Cargo.toml in the repo root directory does not contain a version. Look at any other Cargo.toml file.
|
||||||
1. Update Cargo.toml on master to the next semantic version (e.g. 0.9.0 -> 0.10.0)
|
1. Create a new branch and push this branch to the solana repository.
|
||||||
by running `./scripts/increment-cargo-version.sh`, then rebuild with a
|
1. `git checkout -b <branchname>`
|
||||||
`cargo build --all` to cause a refresh of `Cargo.lock`.
|
1. `git push -u origin <branchname>`
|
||||||
|
|
||||||
|
#### Update master with the next version
|
||||||
|
|
||||||
|
1. After the new branch has been created and pushed, 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
|
||||||
|
`cargo build` to cause a refresh of `Cargo.lock`.
|
||||||
1. Push your Cargo.toml change and the autogenerated Cargo.lock changes to the
|
1. Push your Cargo.toml change and the autogenerated Cargo.lock changes to the
|
||||||
master branch
|
master branch
|
||||||
|
|
||||||
At this point, ci/channel-info.sh should show your freshly cut release branch as
|
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".
|
"BETA_CHANNEL" and the previous release branch as "STABLE_CHANNEL".
|
||||||
|
|
||||||
### Updating channels (i.e. "making a release")
|
### Updating channels (i.e. "making a release")
|
||||||
|
@ -86,7 +91,8 @@ We use [github's Releases UI](https://github.com/solana-labs/solana/releases) fo
|
||||||
1. Go [there ;)](https://github.com/solana-labs/solana/releases).
|
1. Go [there ;)](https://github.com/solana-labs/solana/releases).
|
||||||
1. Click "Draft new release". The release tag must exactly match the `version`
|
1. Click "Draft new release". The release tag must exactly match the `version`
|
||||||
field in `/Cargo.toml` prefixed by `v` (ie, `<branchname>.X`).
|
field in `/Cargo.toml` prefixed by `v` (ie, `<branchname>.X`).
|
||||||
1. If the first major release on the branch (e.g. v0.8.0), paste in [this
|
1. If the Cargo.toml verion field is **0.12.3**, then the release tag must be **v0.12.3**
|
||||||
|
1. If this is the first release on the branch (e.g. v0.13.**0**), paste in [this
|
||||||
template](https://raw.githubusercontent.com/solana-labs/solana/master/.github/RELEASE_TEMPLATE.md)
|
template](https://raw.githubusercontent.com/solana-labs/solana/master/.github/RELEASE_TEMPLATE.md)
|
||||||
and fill it in.
|
and fill it in.
|
||||||
1. Test the release by generating a tag using semver's rules. First try at a
|
1. Test the release by generating a tag using semver's rules. First try at a
|
||||||
|
@ -97,9 +103,9 @@ We use [github's Releases UI](https://github.com/solana-labs/solana/releases) fo
|
||||||
1. After testnet deployment, verify that testnets are running correct software.
|
1. After testnet deployment, verify that testnets are running correct software.
|
||||||
http://metrics.solana.com should show testnet running on a hash from your
|
http://metrics.solana.com should show testnet running on a hash from your
|
||||||
newly created branch.
|
newly created branch.
|
||||||
1. Once the release has been made, update Cargo.toml on release to the next
|
1. Once the release has been made, update Cargo.toml on the release branch to the next
|
||||||
semantic version (e.g. 0.9.0 -> 0.9.1) by running
|
semantic version (e.g. 0.9.0 -> 0.9.1) by running
|
||||||
`./scripts/increment-cargo-version.sh patch`, then rebuild with a `cargo
|
`./scripts/increment-cargo-version.sh patch`, then rebuild with `cargo
|
||||||
build --all` to cause a refresh of `Cargo.lock`.
|
build` to cause a refresh of `Cargo.lock`.
|
||||||
1. Push your Cargo.toml change and the autogenerated Cargo.lock changes to the
|
1. Push your Cargo.toml change and the autogenerated Cargo.lock changes to the
|
||||||
release branch
|
release branch.
|
||||||
|
|
Loading…
Reference in New Issue