SimGrid  3.9
Versatile Simulation of Distributed Systems
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
SimGrid Developer Guide - Releasing

Releasing the main library

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)
    • The version number provided to download in the examples of doc/doxygen/install.doc is accurate (we should maybe generate this file to avoid issues, but some inaccuracies are less painful than editing the cmake files to make this happen, sorry).
  • Tests
    • All tests pass on a reasonable amount of platforms (typically, everything on cdash)
    • You also tested to build and install the content of the source archive on a reasonable 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

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:

$ cd simgrid
$ git reset --hard master # warning, it will kill your uncommited changes
$ git clean -dfx          # warning, it will kill your uncommited changes

You can then build the archive. This gives you your archive in the build dir, named 'SimGrid-${inside_release_version}.tar.gz'.

$ mkdir build
$ cd build
$ cmake ..
$ make dist

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.

$ cd simgrid
$ mkdir build
$ cd build
$ cmake ..
$ make nsis

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
  • Rebuild and resynchronize the website so that the file gets visible from our download page (see Working on the website).
  • Update the link ff-scm-v4-prod:/home/groups/simgrid/htdocs/simgrid/latest
  • Announce the release
    • Mail the simgrid-user mailing list
      • the NEWS chunk in the mail;
      • the ChangeLog chunk as attachment
    • Also mail some other lists (G5K users), with only the NEWS chunk and the link to the download section

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-${inside_release_version}.tar.gz' or 'SimGrid-Ruby-${inside_release_version}.tar.gz'.

$ cd simgrid-java (or simgrid-ruby)
$ git reset --hard master
$ git clean -dfx
$ mkdir build
$ cd build
$ cmake ..
$ make dist