Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fixups in the releasing process
[simgrid.git] / doc / doxygen / inside_release.doc
index 0442bc6..9f8492f 100644 (file)
@@ -157,28 +157,39 @@ Release numbering semantic:
     - We provide and store a source .tar.gz and a full jarfile on framagit
     - Deprecated symbols remain usable for at least 3 named releases (~1 year)
     - These releases are announced to the users
-  - 3.X.Y is a dot release of 3.X
+  - 3.X.Y where Y is even: dot release of 3.X, prerelease of 3.(X+1)
     - We provide and store a source .tar.gz and a full jarfile on framagit
     - These releases are NOT announced publicly, nor really documented. 
       The idea is to have something close to a rolling release.
     - External projects can depend on dot releases to loosen their
       release process from ours, when 4 release a year is not enough 
-  - 3.X.90 is a git version, a preversion of 3.(X+1) (3.22.90 = pre-3.23)
+  - 3.X.Y where Y is odd: git current status between two releases
     - No expectations on such versions
+  - Example
+    - 3.22.4: unannounced/losely documented stable release
+    - 3.22.5: git status somewhere between the release of 3.22.4 and the next one
+    - 3.23: Documented and announced stable release
     
 Doing a dot release:
   - 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:
+  - Once it's successful on both appveyor and jenkins:
     - tag the release v3_X_Y and push the tag
     - Merge 'master' into 'stable' and push it to framagit
     - 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.
+  - python3 setup.py sdist # Build a source distrib
+    - test that the built distrib recompiles:
+      rm -rf /tmp/pysimgrid && mkdir /tmp/pysimgrid && cp dist/simgrid-*.tar.gz /tmp/pysimgrid 
+      (cd /tmp/pysimgrid && tar xfz simgrid*.tar.gz && cd simgrid-*/ && python3 setup.py build)
+    - Upload it to pypi (WARNING: you cannot modify uploaded files, ever)
+      twine upload dist/simgrid-*.tar.gz
 
 */