You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ] DockerHub account with push rights to the [`solc` image](https://hub.docker.com/r/ethereum/solc).
@@ -12,6 +12,8 @@
12
12
-[ ] Access to the [solidity_lang Twitter account](https://twitter.com/solidity_lang).
13
13
-[ ][Reddit](https://www.reddit.com) account that is at least 10 days old with a minimum of 20 comment karma (`/r/ethereum` requirements).
14
14
15
+
## Full release
16
+
15
17
### Pre-flight checks
16
18
At least a day before the release:
17
19
-[ ] Run `make linkcheck` from within `docs/` and fix any broken links it finds.
@@ -59,19 +61,19 @@ At least a day before the release:
59
61
-[ ] Thank voluntary contributors in the GitHub release notes.
60
62
Use `scripts/list_contributors.sh v<previous version>` to get initial list of names.
61
63
Remove different variants of the same name manually before using the output.
62
-
-[ ] Check that all tests on the latest commit in`develop` are green.
64
+
-[ ] Check that all tests on the latest commit on`develop` are green.
63
65
-[ ] Click the `Publish release` button on the release page, creating the tag.
64
66
**Important: Must not be done before all the PRs, including changelog cleanup and date, are merged.**
65
67
-[ ] Wait for the CI runs on the tag itself.
66
68
67
69
### Upload Release Artifacts and Publish Binaries
68
70
-[ ] Switch to the tag that archives have to be created for.
69
-
-[ ] Create the `prerelease.txt` file: (`echo -n > prerelease.txt`).
70
-
-[ ] Run `scripts/create_source_tarball.sh`while being on the tag to create the source tarball. This will create the tarball in a directory called `upload`.
71
-
-[ ] Take the tarball from the upload directory (its name should be `solidity_x.x.x.tar.gz`, otherwise `prerelease.txt` was missing in the step before) and upload the source tarball to the release page.
72
-
-[ ] Take the `github-binaries.tar` tarball from `c_release_binaries` run of the tagged commit in circle-ci and add all binaries from it to the release page.
71
+
-[ ] Create the `prerelease.txt` file: `echo -n > prerelease.txt`.
72
+
-[ ] Run `scripts/create_source_tarball.sh` to create the source tarball. This will create the tarball in a directory called `upload`.
73
+
-[ ] Take the tarball from the upload directory (its name should be `solidity_x.x.x.tar.gz`, otherwise `prerelease.txt` was missing in the step before) and upload it to the release page.
74
+
-[ ] 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.
73
75
Make sure it contains four binaries: `solc-windows.exe`, `solc-macos`, `solc-static-linux` and `soljson.js`.
74
-
-[ ] Take the `solc-bin-binaries.tar` tarball from `c_release_binaries` run of the tagged commit in circle-ci and add all binaries from it to solc-bin.
76
+
-[ ] 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.
75
77
-[ ] Run `npm install` if you've got a clean checkout of the solc-bin repo.
76
78
-[ ] 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/`.
77
79
-[ ] Create a pull request in solc-bin and merge.
@@ -101,7 +103,7 @@ At least a day before the release:
101
103
-[ ] Increment the version number, create a pull request for that, merge it after tests succeeded.
102
104
-[ ] Create a tag using `git tag --annotate v$VERSION` and push it with `git push --tags`.
103
105
-[ ] Wait for the CI runs on the tag itself.
104
-
-[ ] Take the `solc-x.y.z.tgz` artifact from `build-package` run on the tagged commit in circle-ci.
106
+
-[ ] Take the `solc-x.y.z.tgz` artifact from `build-package` run on the tagged commit on Circle CI.
105
107
Inspect the tarball to ensure that it contains an up-to-date compiler binary (`soljson.js`).
106
108
-[ ] Run `npm publish solc-x.y.z.tgz` to publish the newly created tarball.
107
109
@@ -116,9 +118,37 @@ At least a day before the release:
116
118
-[ ] Announce on [Fosstodon](https://fosstodon.org/@solidity/), including links to the release and the blog post.
117
119
-[ ] Share the announcement on Reddit in [`/r/ethdev`](https://reddit.com/r/ethdev/), cross-posted to [`/r/ethereum`](https://reddit.com/r/ethereum/).
118
120
-[ ] Share the announcement on the [Solidity forum](https://forum.soliditylang.org) in the `Announcements` category.
119
-
-[ ] Share the announcement on [Project Updates](https://discord.com/channels/420394352083337236/798974456704925696)
120
-
-[ ] Share the announcement on [`#solidity` channel on Matrix](https://matrix.to/#/#ethereum_solidity:gitter.im)
121
-
-[ ] Share the announcement on [`#solc-tooling`](https://matrix.to/#/#solc-tooling:matrix.org)
121
+
-[ ] Share the announcement on [`#solidity` channel on Matrix](https://matrix.to/#/#ethereum_solidity:gitter.im).
122
+
-[ ] Share the announcement on [`#solc-tooling`](https://matrix.to/#/#solc-tooling:matrix.org).
122
123
-[ ] If anything went wrong this time, mention it in [Learning from Past Releases](https://notes.argot.org/@solidity-release-mistakes).
123
124
-[ ] Bump vendored dependencies.
124
125
-[ ] 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