aboutsummaryrefslogblamecommitdiffstats
path: root/ReleaseChecklist.md
blob: 2610daa287c19699aa48c40ae608e7dead05bb81 (plain) (tree)
1
2
3
4
5
6
7
8
9

                               


                                                                                                                                                                                                                                
                                                              
                                                                                                                              
                                                                                                
                                                                                                                    
                                                                                                      
                                                                                                        

                                                                                                    
                                                                                                            
                                                                                                                                                                                                                                                                                                                
                                                                                                                                                     
                                                                                                                               
                                                 




                                                                                                                                   
                                                                
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 the ``Changelog`` 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`` to ``release``, 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).
 - [ ] Once the ``~ethereum/ubuntu/ethereum-static`` PPA build is finished and published for all platforms (make sure not to do this earlier), copy the static package to the ``~ethereum/ubuntu/ethereum`` PPA for the destination series ``Trusty`` and ``Xenial`` while selecting ``Copy 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 updated ``solc-js`` repository.
 - [ ] Create a commit to increase the version number on ``develop`` in ``CMakeLists.txt`` and add a new skeleton changelog entry.
 - [ ] Merge ``release`` back into ``develop``.
 - [ ] Announce on Twitter and Reddit.
 - [ ] Lean back, wait for bug reports and repeat from step 1 :)