Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
91c6de27e570087731fcde576706815d479cf46e
[simgrid.git] / doc / doxygen / inside_release.doc
1 /*! 
2 \page inside_release SimGrid Developer Guide - Releasing
3
4 \section inside_release_c Releasing the main library
5
6 \subsection inside_release_c_preconditions Before releasing
7
8 Please apply the following checklist before releasing.
9
10 - Sources
11   - The version number is correctly marked in CMakeList.txt, in macros
12     SIMGRID_VERSION_MAJOR and friends. Please also update the
13     comments right before these macros so that we keep a track of the
14     version numbers that were used.
15   - The "make distcheck" target works (testing that every files needed
16     to build and install are included in the archive)
17   - The URL provided to download in the examples of
18     doc/doxygen/install.doc is accurate. Note that updating the 
19     version number is not enough as it only impacts the name that will
20     be given to the downloaded file. The real identifier is the number
21     before, between /s. This makes this part very difficult to
22     generate automatically.
23 - Tests
24   - All tests pass on a reasonable amount of platforms (typically,
25     everything on cdash)
26   - You also tested to build and install the content of the source
27     archive on a reasonable amount of platforms (typically, 2 or 3).
28 - ChangeLog file
29   - Every changes are documented
30   - The release date is indicated below the changes
31   - The release is marked as stable above the changes
32   - The release dub name matches the one given in NEWS file
33 - NEWS
34   - The most notable changes of the version are documented
35   - The release date is indicated right below the version name
36   - The release dub name matches the one given in ChangeLog file
37
38 \subsection inside_release_c_source Building the source archive
39
40 First, clean up your git repository. Some files are included through
41 globbing, you must ensure that your tree contains no cruft. You can
42 either checkout a new tree or remove anything from your current tree:
43 \verbatim
44 $ cd simgrid
45 $ git reset --hard master # warning, it will kill your uncommited changes
46 $ git clean -dfx          # warning, it will kill your uncommited changes
47 \endverbatim
48
49 You can then build the archive. This gives you your archive in the
50 build dir, named 'SimGrid-${inside_release_version}.tar.gz'.
51
52 \verbatim
53 $ mkdir build
54 $ cd build
55 $ cmake ..
56 $ make dist
57 \endverbatim
58
59 \subsection inside_release_c_win32 Binary distribution under Win32
60
61 You have to install nsis tool first. Download it 
62 <a href="http://nsis.sourceforge.net/Download">here</a>.
63
64 Then be sure having wget.exe in your path to get the online documentation. You can download it 
65 <a href="http://users.ugent.be/~bpuype/wget/">here</a>.
66
67 You can finally make the win installer.
68 \verbatim
69 $ cd simgrid
70 $ mkdir build
71 $ cd build
72 $ cmake ..
73 $ make nsis
74 \endverbatim
75
76 \subsection inside_release_c_postchecks Check list after releasing
77
78 - Tag the git repository (don't forget to push the tags to the main
79   repo)
80 - Push the archive files on gforge
81 - Rebuild and resynchronize the website so that the file gets visible
82   from our download page (see @ref inside_doxygen_website).
83 - Update the link ff-scm-v4-prod:/home/groups/simgrid/htdocs/simgrid/latest
84 - Announce the release
85  - Mail the simgrid-user mailing list
86     - the NEWS chunk in the mail;
87     - the ChangeLog chunk as attachment
88  - Also mail some other lists (G5K users), with only the NEWS chunk
89    and the link to the download section
90
91 \section inside_release_bindings Releasing the bindings
92
93 Please apply the above checklists before and after releasing the bindings.
94
95 Then, clean your git repository and build the archive. It will give
96 you an archive file in the build dir:
97 'SimGrid-Ruby-${inside_release_version}.tar.gz'. 
98
99 \verbatim
100 $ cd simgrid-ruby
101 $ git reset --hard master
102 $ git clean -dfx
103 $ mkdir build
104 $ cd build
105 $ cmake ..
106 $ make dist
107 \endverbatim
108
109 */