-
-\subsection inside_release_c_source Building the source archive
-
-This should be done from a clean git repository because some files are
-included through globbing. The best is to use a clean checkout:
-\verbatim
-cd /tmp
-git clone --depth=1 ~/Code/simgrid
-cd simgrid
-cmake . && make dist
-\endverbatim
-
-If you prefer, you can clean your repository the hard way:
-\verbatim
-git reset --hard master # remove all uncommited changes to the files tracked by git
-git clean -dfx # delete all files and directories that are not tracked by git
-cmake . && make dist
-\endverbatim
-
-\subsection inside_release_c_jarfile Building the binary jarfile
-
-Get the jarfiles for several OSes on the CI slaves. Use Save under to
-give a separate name to each of them.
-
-- Mac OSX, FreeBSD: on Jenkins
-- Windows: on AppVeyor
-- Linux: it is safer to rebuild them in a chroot (to avoid
- boost-context and all other optional dependencies):
-
-\verbatim
-mkdir /tmp/build-amd64
-cp SimGrid-3.*.tar.gz /tmp/build-amd64
-sudo debootstrap --arch amd64 --variant=buildd testing /tmp/build-amd64 http://deb.debian.org/debian/
-sudo chroot /tmp/build-amd64
-echo "proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0" >> /tmp/fstab
-mount proc /proc -t proc
-apt-get install -y cmake default-jdk libboost-dev python3 doxygen
-cd tmp
-tar xfz ../SimGrid*tar.gz && cd SimGrid-*
-cmake . -Denable_documentation=ON -Denable_java=ON
-make -j4 && LC_ALL=C ctest -R java
-\endverbatim
-
-Once all jarfiles are in a separate directory, run the following to
-merge them:
-\verbatim
-mkdir content ; cd content
-
-for j in ../simgrid-linux64.jar ../simgrid*.jar ; do unzip -n $j ; done
-# The content of all jar should be the same, but I prefer using the Linux64 version by default
-# => unpack it first, and unpack the others with -n (never overwrite)
-
-test -e doc/javadoc || echo "YOU ARE MISSING THE DOC"
-
-du -sh . # 273M here. Let's strip (Darwin is already good)
-strip NATIVE/*/*/*.so # Gets BSD and Linux versions, down to 116M
-x86_64-linux-gnu-strip NATIVE/*/*/lib*dll # Gets Windows, down to 22M
-
-rm ../simgrid-3_*.jar
-zip -r ../simgrid-3_XX.jar * # Produced ../simgrid-3_XX.jar is 7.7M
-\endverbatim
-
-To upload the file on gforge, you need to go to Files/Admin then clic
-on the Settings icon near to the "Add a version" button, and then on
-the settings icon of the release you want to change.
-
-\subsection inside_release_c_postchecks Check list after releasing
-
-- Tag the git repository (don't forget to push the tags to the main repo)
+- Tests
+ - The "make distcheck" target works (tested by jenkins)
+ - All tests pass oneverything on ci + travis/macOS + AppVeyor
+ - Tutorials and derivative projects build correctly
+ https://framagit.org/simgrid/simgrid-template-s4u/pipelines
+ https://framagit.org/simgrid/external-projects-ci/pipelines
+ - The python module builds (see below).
+
+@subsection inside_release_c_releasing Actually releasing SimGrid
+
+- Update the version number in:
+ - CMakeLists.txt (in macros SIMGRID_VERSION_*)
+ - sonar-project.properties
+ - docs/source/conf.py
+ - setup.py
+- Commit and push to both framagit and github
+- Wait for both appveyor and jenkins/highsierra to complete the build
+- If it's not successful, fix it and push again
+- Once it's successful everywhere: merge 'master' into 'stable' and push it to framagit
+ - This builds the tar.gz and jar artefacts. The old doc says how to do manually if something goes wrong.
+ - Do not merge into 'stable' before appveyor and jenkins are done,
+ or your jarfile will not contain the code you expect for win and mac.
+
+- Download the SimGrid-doc-3.X.Y (artefact of pipeline 'pages' on framagit)
+ Download the tgz and jar files (artefacts of the pipeline 'stable' on framagit)