From: Martin Quinson Date: Wed, 14 Nov 2012 21:21:29 +0000 (+0100) Subject: rewrite the 'howto release' guide, in paranoid mode X-Git-Tag: v3_9_rc1~91^2~100 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/1b31e6af6e4fe3ab737b8ac8681dcba610f7db50 rewrite the 'howto release' guide, in paranoid mode --- diff --git a/doc/dev_guide/doxygen/DevGuideDoxyfile.in b/doc/dev_guide/doxygen/DevGuideDoxyfile.in index 1314e517dd..aa58101eb5 100644 --- a/doc/dev_guide/doxygen/DevGuideDoxyfile.in +++ b/doc/dev_guide/doxygen/DevGuideDoxyfile.in @@ -661,7 +661,8 @@ WARN_LOGFILE = INPUT = index.doc \ simgrid.doc \ xps.doc \ - cmake.doc + cmake.doc \ + release.doc ################################################### ## PLEASE DON'T MESS WITH THE ORDER OF EXAMPLES ## (unless you know what you are doing, of course) diff --git a/doc/dev_guide/doxygen/cmake.doc b/doc/dev_guide/doxygen/cmake.doc index 1378810aef..8b706ce57d 100644 --- a/doc/dev_guide/doxygen/cmake.doc +++ b/doc/dev_guide/doxygen/cmake.doc @@ -120,70 +120,4 @@ ADD_TEST(NAME my-test-name COMMAND Hello ) \endverbatim -\section cmake_dev_guide_dist How to make a clean dist? - -\subsection cmake_dev_guide_dist_sim Simgrid - -\subsubsection cmake_dev_guide_dist_sim_unix Under UNIX -You need to be in a clean repository. -\verbatim -$ cd simgrid -$ git stash -$ git stash clear -$ git clean -dfx -$ mkdir build -$ cd build -$ make dist -\endverbatim - -After that you have your distrib in the build dir: 'SimGrid-${release_version}.tar.gz'. - -You finally have to compile the new distrib to test the "make install" target. - -\subsubsection cmake_dev_guide_dist_sim_win Under Win32 - -You have to install nsis tool first. Download it -here. - -Then be sure having wget.exe in your path to get the online documentation. You can download it -here. - -You can finally make the win installer. -\verbatim -$ cd simgrid -$ mkdir build -$ cd build -$ cmake .. -$ make nsis -\endverbatim - -\subsection cmake_dev_guide_dist_bindings Bindings - -\subsubsection cmake_dev_guide_dist_bindings_java Java -You need to be in a clean repository. -\verbatim -$ cd simgrid -$ git stash -$ git stash clear -$ git clean -dfx -$ mkdir build -$ cd build -$ make dist -\endverbatim - -After that you have your distrib in the build dir: 'SimGrid-Java-${release_version}.tar.gz'. - -\subsubsection cmake_dev_guide_dist_bindings_ruby Ruby -You need to be in a clean repository. -\verbatim -$ cd simgrid-ruby -$ git stash -$ git stash clear -$ git clean -dfx -$ mkdir build -$ cd build -$ make dist -\endverbatim - -After that you have your distrib in the build dir: 'SimGrid-Ruby-${release_version}.tar.gz'. */ diff --git a/doc/dev_guide/doxygen/release.doc b/doc/dev_guide/doxygen/release.doc new file mode 100644 index 0000000000..a1027dfea4 --- /dev/null +++ b/doc/dev_guide/doxygen/release.doc @@ -0,0 +1,104 @@ +/*! +\page release SimGrid Developer Guide - Releasing + +\section release_c Releasing the main library + +\subsection release_c_preconditions Before releasing + +Please apply the following checklist before releasing. + +- Sources + - The version number is correctly marked in CMakeList.txt, in macros + SIMGRID_VERSION_MAJOR and friends. Please also update the + comments right before these macros so that we keep a track of the + version numbers that were used. + - The" make distcheck" target works (testing that every files needed + to build and install are included in the archive) +- Tests + - All tests pass on a reasonnable amount of platforms (typically, + everything on cdash) + - You also tested to build and install the content of the source + archive on a reasonnable amount of platforms (typically, 2 or 3). +- ChangeLog file + - Every changes are documented + - The release date is indicated below the changes + - The release is marked as stable above the changes + - The release dub name matches the one given in NEWS file +- NEWS + - The most notable changes of the version are documented + - The release date is indicated right below the version name + - The release dub name matches the one given in ChangeLog file + +\subsection release_c_source Building the source archive + +First, clean up your git repository. Some files are included through +globbing, you must ensure that your tree contains no cruft. You can +either checkout a new tree or remove anything from your current tree: +\verbatim +$ cd simgrid +$ git stash +$ git stash clear +$ git clean -dfx +\endverbatim + +You can then build the archive. This gives you your archive in the +build dir, named 'SimGrid-${release_version}.tar.gz'. + +\verbatim +$ mkdir build +$ cd build +$ cmake .. +$ make dist +\endverbatim + +\subsection release_c_win32 Binary distribution under Win32 + +You have to install nsis tool first. Download it +here. + +Then be sure having wget.exe in your path to get the online documentation. You can download it +here. + +You can finally make the win installer. +\verbatim +$ cd simgrid +$ mkdir build +$ cd build +$ cmake .. +$ make nsis +\endverbatim + +\subsection release_c_postchecks Check list after releasing + +- Tag the git repository (don't forget to push the tags to the main + repo) +- Push the archive files on gforge +- Update the link ff-scm-v4-prod:/home/groups/simgrid/htdocs/simgrid/lastest +- Announce the release + - Mail the simgrid-user mailing list + - the NEWS chunk in the mail; + - the ChangeLog chunk as attachement + - Also mail some other lists (G5K users), with only the NEWS chunk + and the link to the download section + +\section release_bindings Releasing the bindings + +Please apply the above checklists before and after releasing the bindings. + +Then, clean your git repository and build the archive. It will give +you an archive file in the build dir: +'SimGrid-Java-${release_version}.tar.gz' or +'SimGrid-Ruby-${release_version}.tar.gz'. + +\verbatim +$ cd simgrid-java (or simgrid-ruby) +$ git stash +$ git stash clear +$ git clean -dfx +$ mkdir build +$ cd build +$ cmake .. +$ make dist +\endverbatim + +*/