wiki:CuttingReleases

Version 42 (modified by dustin, 2 years ago) (diff)

--

Branching

  • change "Next Version" in NEWS to the real next version, and add the release date
  • commit
  • branch, using the long name for the branch
    git co -b buildbot-X.Y.Z
    
  • add the branch to your git config for pushing to the organization repo
  • switch back to master and add a "Next Version" section to the NEWS files
  • commit
  • tag 'vA.B.C-pre'
    git tag v0.8.3-pre -m "work begins on 0.8.3.." HEAD
    
    (where A.B.C is the expected next release, for the benefit of 'git describe'; no need to sign)
  • push to the organization repo. You should see master, vA.B.C-pre, and buildbot-X.Y.Z updated.

Releasing

  • update NEWS
  • check it:
    • trial buildbot.test buildslave.test
    • make docs
  • commit updates
  • make a git tag:
    VERSION=v0.8.10; GPG_TTY=`tty` git tag -a -s $VERSION -m "TAG $VERSION"
    
  • push to github
  • make a tarball for master and slave:
    python ./setup.py sdist --formats gztar,zip
    
    and install them somewhere to sanity-test them.
  • for a release candidate:
    • put the tarballs at /home/buildbot/html/tmp and send the links to the mailing list
  • for a real release:
    • cheeseshop - for master and slave: (eggs aren't supported)
      python ./setup.py register sdist --formats gztar,zip upload
      
      note that these tarballs and zips will have different sums from those produced previously, but that the 'upload' command will not allow you to upload already-created files.
    • sign tarball: gpg -ba buildbot-N.N.N.tar.gz; also .zip
    • upload to all files + signatures to google code:
      sh common/gcode-upload.sh 0.8.2 djmitche GOOGLE-CODE-ACCESS-TOKEN
      
      check that the upload works - it often fails for the master tar.gz
    • update pypi
    • update Trac wiki, changing version numbers and the release date.
    • update google code
      • deprecate old downloads (click "Delete File", choose to deprecate)
    • make a docs tarball and a 'reference' (apidocs) tarball
      • check out the tag: git co v0.8.3
      • make the docs: cd master/docs; make
      • make the apidocs: cd apidocs; make
      • move master/docs/0.8.3 into docs/ in the bbdocs repo
      • move apidocs/reference into docs/0.8.3 in the bbdocs repo
      • run add-tracking.py over all of the html files: find docs/0.8.3 -name '*.html' | xargs python add-tracking.py
      • add appropriate links in index.html
      • update the current link
      • push to bbdocs and pull it on the server
    • send mail to buildbot-devel
    • update freshmeat (login, click 'djmitche' at top, click Buildbot, click 'Submit Release')
      • you will need a prose description of the release
    • Mark the milestone as complete in Trac and create a new one.
    • Add the Version to Trac and mark it as the default
    • Update the #buildbot topic