Skip to content

Commit e632b91

Browse files
committed
ReleaseChecklist: Add a separate checklist for prereleases
1 parent a0d04da commit e632b91

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

ReleaseChecklist.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## Checklist for making a Solidity release
1+
# Checklist for making a Solidity release
22

3-
### Requirements
3+
## Requirements
44
- [ ] GitHub account with access to [solidity](https://github.com/argotorg/solidity), [solc-js](https://github.com/argotorg/solc-js),
55
[solc-bin](https://github.com/argotorg/solc-bin), [solidity-website](https://github.com/argotorg/solidity-website).
66
- [ ] DockerHub account with push rights to the [`solc` image](https://hub.docker.com/r/ethereum/solc).
@@ -12,6 +12,8 @@
1212
- [ ] Access to the [solidity_lang Twitter account](https://twitter.com/solidity_lang).
1313
- [ ] [Reddit](https://www.reddit.com) account that is at least 10 days old with a minimum of 20 comment karma (`/r/ethereum` requirements).
1414

15+
## Full release
16+
1517
### Pre-flight checks
1618
At least a day before the release:
1719
- [ ] Run `make linkcheck` from within `docs/` and fix any broken links it finds.
@@ -121,3 +123,32 @@ At least a day before the release:
121123
- [ ] If anything went wrong this time, mention it in [Learning from Past Releases](https://notes.argot.org/@solidity-release-mistakes).
122124
- [ ] Bump vendored dependencies.
123125
- [ ] Lean back, wait for bug reports and repeat from step 1 :).
126+
127+
## Prerelease
128+
- [ ] Check that all tests on the latest commit on `develop` or `breaking` branch (whichever was chosen for the prerelease) are green.
129+
- [ ] Create a [release on GitHub](https://github.com/argotorg/solidity/releases/new).
130+
- Set the target to the `develop` or `breaking` branch and the tag to the new version with a prerelease suffix, e.g. `v0.8.5-pre.6`.
131+
Version matches the next release (`develop`) or the next breaking release (`breaking`).
132+
The prerelease number in the suffix is 1-based, sequential, resets after a full release and is counted separately for `develop` and `breaking`.
133+
- Include the following warning: `**The release is still in progress. You may see broken links and binaries may not yet be available from all sources.**`.
134+
- Include the current, incomplete changelog.
135+
- Check the `Set as a pre-release` box.
136+
- Click the `Publish release` button on the release page, creating the tag.
137+
- [ ] Wait for the CI runs on the tag itself.
138+
- [ ] Switch to the tag that archives have to be created for.
139+
- [ ] Create the `prerelease.txt` file: `scripts/prerelease_suffix.sh pre "$(git describe --tags --exact-match)" > prerelease.txt`.
140+
- [ ] Run `scripts/create_source_tarball.sh` to create the source tarball. This will create the tarball in a directory called `upload`.
141+
- [ ] Take the tarball from the upload directory (its name should be `solidity_x.x.x-pre.N.tar.gz`, if `prerelease.txt` was created correctly) and upload it to the release page.
142+
- [ ] Take the `github-binaries.tar` tarball from `c_release_binaries` run of the tagged commit on Circle CI and add all binaries from it to the release page.
143+
Make sure it contains four binaries: `solc-windows.exe`, `solc-macos`, `solc-static-linux` and `soljson.js`.
144+
- [ ] Take the `solc-bin-binaries.tar` tarball from `c_release_binaries` run of the tagged commit on Circle CI and add all binaries from it to solc-bin.
145+
- [ ] Run `npm install` if you've got a clean checkout of the solc-bin repo.
146+
- [ ] Run `npm run update -- --reuse-hashes` in `solc-bin` and verify that the script has updated `list.js`, `list.txt` and `list.json` files correctly and that symlinks to the new release have been added in `solc-bin/wasm/` and `solc-bin/emscripten-wasm32/`.
147+
- [ ] Create a pull request in solc-bin and merge.
148+
- [ ] Remove "still in progress" warning from the [release notes](https://github.com/argotorg/solidity/releases).
149+
- [ ] Mention it on [Twitter](https://twitter.com/solidity_lang).
150+
- [ ] Mention it on [Fosstodon](https://fosstodon.org/@solidity/).
151+
- [ ] Mention it on [`#solidity` channel on Matrix](https://matrix.to/#/#ethereum_solidity:gitter.im).
152+
- [ ] Mention it on [`#solc-tooling`](https://matrix.to/#/#solc-tooling:matrix.org).
153+
- [ ] If anything went wrong this time, mention it in [Learning from Past Releases](https://notes.argot.org/@solidity-release-mistakes).
154+
- [ ] Lean back, wait for bug reports and repeat from step 1 :).

0 commit comments

Comments
 (0)