Skip to content

Commit 8232501

Browse files
authored
Update release procedure (#227)
1 parent f2caec9 commit 8232501

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

README.md

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -78,29 +78,38 @@ Once the node template is running locally, you can connect to it with frontends
7878

7979
## How to upgrade to new Polkadot release
8080

81-
**Note: Now that this repo has upgraded to using dependencies from crates.io, this section
82-
needs to be updated to reflect the new process, once the first release of the crates from
83-
the new `polkadot-sdk` mono-repo happens**
81+
We can have two types of releases:
8482

85-
- [ ] Check Substrate's [`node-template`](https://github.com/paritytech/substrate/commits/master/bin/node-template)
83+
* Internal release: This type of release does not involve releasing the crates on crates.io. It involves using Git
84+
references in the Cargo.toml dependencies. We utilize this type of release for faster iteration when we don't want
85+
to wait for the substrate crates to be released.
86+
87+
* Crate release: This is the preferable type of release, which involves specifying crate versions in the Cargo.toml
88+
dependencies and releasing the crates on crates.io..
89+
90+
- [ ] Check Substrate's [`node-template`](https://github.com/paritytech/polkadot-sdk/tree/master//substrate/bin/node-template/),
91+
which was renamed after the Polkadot release `1.8.0` to [`solochain-template`](https://github.com/paritytech/polkadot-sdk/tree/master/templates/solochain),
8692
for new commits between the new polkadot release branch and the one this repository is currently synced with.
87-
The current branch is mentioned in this readme.
93+
The current branch is mentioned in the last release.
8894
- [ ] Apply each commit that happened in this `node-template` folder since the last sync.
89-
- [ ] Check commits for [`pallet-contracts`](https://github.com/paritytech/substrate/tree/master/frame/contracts)
95+
- [ ] Check [`parachain-template`](https://github.com/paritytech/polkadot-sdk/tree/master/templates/parachain)
96+
and apply each commit that has occurred in its folder since the last sync.
97+
- [ ] Check commits for [`pallet-contracts`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/contracts)
9098
since the last time someone synchronized this repository with Substrate
9199
in order to not miss any important changes.
92-
- [ ] Execute `diener update -s --branch my_polkadot_release_branch`. Manually upgrade the
93-
`pallet-assets-chain-extension` dependency to the latest release branch and then
94-
`cargo update -p pallet-contracts` for this repository. The specific crate which is mentioned
95-
here is actually not important: since Substrate uses git references for its Substrate
96-
dependencies it means that once one package is updated all are.
97-
- [ ] Increment the minor version number in `node/Cargo.toml` and `runtime/Cargo.toml`.
100+
- [ ] (Crate release only) Execute `psvm -p ./Cargo.toml -v X.X.X`, to update the dependencies to the required versions.
101+
Replace `X.X.X` with the requested Polkadot release version.
102+
- [ ] (Internal release only) Manually update the dependencies in Cargo.toml to the required Git SHA versions.
103+
- [ ] Increment the minor version number in `Cargo.toml` and `node/Cargo.toml`.
98104
- [ ] Execute `cargo run --release`. If successful, it should produce blocks
99105
and a new, up to date, `Cargo.lock` will be created.
100-
- [ ] Update this readme with the hash of the Substrate `master` commit
101-
with which you synchronized. The hash appears two times in this
102-
readme.
103-
- [ ] Create a PR with the changes, have it reviewed and merged.
106+
- [ ] Create a PR with the changes, have it reviewed.
107+
- [ ] (Crate release only) Upload crates to `crates.io` using the commands below, replacing `XX` with your incremented
108+
version number:
109+
`cargo release 0.XX.0 -v --no-tag --no-push -p contracts-node-runtime -p contracts-parachain-runtime --execute`
110+
`cargo release 0.XX.0 -v --no-tag --no-push -p contracts-node --execute`
111+
Note: Before uploading, perform a dry run to ensure that it will be successful.
112+
- [ ] Merge the release PR branch.
104113
- [ ] Replace `XX` in this command with your incremented version number and execute it:
105114
`git checkout main && git pull && git tag v0.XX.0 && git push origin v0.XX.0`.
106115
This will push a new tag with the version number to this repository.
@@ -109,5 +118,5 @@ the new `polkadot-sdk` mono-repo happens**
109118
[GitLab](https://gitlab.parity.io/parity/mirrors/substrate-contracts-node/-/pipelines).
110119
This draft release will contain a binary for Linux and Mac and appear
111120
under [Releases](https://github.com/paritytech/substrate-contracts-node/releases).
112-
Add a description in the style of "Synchronized with [`polkadot-v1.0.0`](https://github.com/paritytech/substrate/tree/polkadot-v1.0.0) branch."
121+
Add a description in the style of "Synchronized with [`polkadot-v1.8.0`](https://github.com/paritytech/polkadot-sdk/tree/release-polkadot-v1.8.0) branch."
113122
and publish it.

0 commit comments

Comments
 (0)