Release Checklist

From Liberty Eiffel Wiki
Revision as of 19:40, 23 May 2016 by Ramack (talk | contribs)
Jump to navigation Jump to search

This is WIP. Please update if you think of any missing detail. The target is to include all necessary command line commands (where applicable)

  • cleanup Testsuite
  • update LIBERTY_VERSION
  • create new bootstrap germ code
resources/smarteiffel-germ/make_germ.sh
  • create a local branch for the next release
git branch bell
  • create a bell branch in the github repo (via web interface?)
  • push it to savannah
git checkout bell
git push upstream bell
  • remove all tools and libraries which are not sufficiently mature to be included in the release
    • for Bell these are:
cluster smarteiffel/generation/run
smarteiffel/commands/run.e
edc-new, edc
lib/mmi?
effect tool
src/staging
src/lib/net/ezmq
wrappers: cairo, database/postgresql, ewlc, llvm, zmq, xml
  • switch ET to use the new branch
    • echo "bell" > ~/branch on ETs account
    • change website/et/html_templates/head.html to make ET output tell people which branch is being tested...
  • adapt changelog (in work/packaging/debian.skel/debian/) in bell branch (remove ~dev tag)
  • create release candidate
git tag <release_name>-rc1
git push --tags upstream
  • on ETs account...
work/packaging/build_debian.sh -rc1
work/packaging/build_debian.sh -rc1 -deploy
ssh et32@et32 "cd $LibertyBase && git fetch origin && git checkout $gitBranch && git merge --ff-only FETCH_HEAD && $LibertyBase/work/packaging/build_debian.sh -rc1"
scp -p et32@et32:Liberty/work/packaging/debs/* ~/Liberty/work/packaging/debs_i386/
reprepro --basedir ~/Liberty/website/apt includedeb rc liberty-eiffel-tools_2016~dev~rc1_i386.deb
  • create tarball and put on FTP server
download the tag tarball from http://git.savannah.gnu.org/cgit/liberty-eiffel.git
work/strip_tgz.sh bell-rc1.tar.gz
scp bell-rc1.tar.gz ramack@dl.sv.gnu.org:/srv/download/liberty-eiffel/
  • collect RC feedback on our mailing list
  • adapt changelog (in work/packaging/debian.skel/debian/) in bell branch (fix release version and date, without SNAPSHOT)
  • create the final release tag
git tag <release_name>
  • create release debian packages
see above, use -release instead of -rc1
  • create tarball and put on FTP server
see above for rc
  • write announce email
  • switch ET back to use the master branch
    • echo "master" > ~/branch on ETs account
  • prepare changelog for the third release
  • plan the next release (tickets on savannah)