Checklist for making a release:
- Ensure that a Github project exists for the release.
- Check that all issues and pull requests from the Github project to be released are merged to
develop
. - Create a commit in
develop
that updates theChangelog
to include a release date (run./scripts/tests.sh
to update the bug list). Sort the changelog entries alphabetically and correct any errors you notice. - Create a pull request and wait for the tests, merge it.
- Thank voluntary contributors in the Github release page (use
git shortlog -s -n -e origin/release..origin/develop
). - Create a pull request from
develop
torelease
, wait for the tests, then merge it. - Make a final check that there are no platform-dependency issues in the
solidity-test-bytecode
repository. - Wait for the tests for the commit on
release
, create a release in Github, creating the tag. - Wait for the CI runs on the tag itself (they should push artifacts onto the Github release page).
- Run
scripts/create_source_tarball.sh
while being on the tag to create the source tarball. - Upload the source tarball (in the upload directory) to the release page.
- Run
scripts/release_ppa.sh release
to create the PPA release (you need the relevant openssl key). - Wait for the
~ethereum/ubuntu/ethereum-static
PPA build to be finished and published for all platforms. SERIOUSLY: DO NOT PROCEED EARLIER!!! After the static builds are published, copy the static package to the~ethereum/ubuntu/ethereum
PPA for the destination seriesTrusty
andXenial
while selectingCopy existing binaries
. - Check that the Docker release was pushed to Docker Hub (this still seems to have problems, run
./scripts/docker_deploy_manual.sh release
). - Update the homebrew realease in https://github.com/ethereum/homebrew-ethereum/blob/master/solidity.rb (version and hash)
- Update the default version on readthedocs.
- Make a release of
solc-js
: Increment the version number, create a pull request for that, merge it after tests succeeded. - Run
npm publish
in the updatedsolc-js
repository. - Create a commit to increase the version number on
develop
inCMakeLists.txt
and add a new skeleton changelog entry. - Merge
release
back intodevelop
. - Announce on Twitter and Reddit.
- Lean back, wait for bug reports and repeat from step 1 :)