Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rewrite the 'howto release' guide, in paranoid mode
authorMartin Quinson <martin.quinson@loria.fr>
Wed, 14 Nov 2012 21:21:29 +0000 (22:21 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 14 Nov 2012 21:23:45 +0000 (22:23 +0100)
doc/dev_guide/doxygen/DevGuideDoxyfile.in
doc/dev_guide/doxygen/cmake.doc
doc/dev_guide/doxygen/release.doc [new file with mode: 0644]

index 1314e51..aa58101 100644 (file)
@@ -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)
index 1378810..8b706ce 100644 (file)
@@ -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 
-<a href="http://nsis.sourceforge.net/Download">here</a>.
-
-Then be sure having wget.exe in your path to get the online documentation. You can download it 
-<a href="http://users.ugent.be/~bpuype/wget/">here</a>.
-
-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 (file)
index 0000000..a1027df
--- /dev/null
@@ -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 
+<a href="http://nsis.sourceforge.net/Download">here</a>.
+
+Then be sure having wget.exe in your path to get the online documentation. You can download it 
+<a href="http://users.ugent.be/~bpuype/wget/">here</a>.
+
+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
+
+*/