Difference between revisions of "Release Checklist"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
m
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is WIP. Please update if you think of any missing detail. The target is to include all necessary command line commands (where applicable)
+
This page is a WIP. Please update it if you think of any missing detail. The target is to include all necessary command line commands (where applicable)
   
 
* cleanup Testsuite
 
* cleanup Testsuite
Line 5: Line 5:
 
* create new bootstrap germ code
 
* create new bootstrap germ code
 
resources/smarteiffel-germ/make_germ.sh
 
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
 
* create release candidate
 
git tag <release_name>-rc1
 
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 doc tarballs
  +
check for next release
  +
work/build_doc.sh -plain -zip
  +
make doc.liberty-eiffel.org point to the released docs
  +
* 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
 
* 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
 
* create the final release tag
 
git tag <release_name>
 
git tag <release_name>
 
* create release debian packages
 
* create release debian packages
  +
see above, use -release instead of -rc1
HOW?
 
 
* create tarball and put on FTP server
 
* create tarball and put on FTP server
  +
see above for rc
* write announce email to our mailing list and as news on savannah
 
  +
* write announce email
  +
** to our mailing list
  +
** on http://lists.gnu.org/archive/html/info-gnu/
  +
** as news entry on savannah
  +
** https://en.wikipedia.org/wiki/LibertyEiffel - stable release docs
  +
** https://directory.fsf.org/wiki/Liberty-eiffel
  +
** adapt changelog (in work/packaging/debian.skel/debian/) in master branch (readd ~dev tagged version)
  +
* 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)
 
* plan the next release (tickets on savannah)

Latest revision as of 21:11, 30 August 2018

This page is a WIP. Please update it 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 doc tarballs
check for next release
work/build_doc.sh -plain -zip
make doc.liberty-eiffel.org point to the released docs
  • 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