-
Notifications
You must be signed in to change notification settings - Fork 162
How to make a release
-
Make sure the pagmo version number is set to the correct value. The version number is at the top of the root
CMakeLists.txt
file, where it reads something likeproject(pagmo VERSION 2.0)
. If the version number is not the correct one, rectify it and commit and push the changes to the pagmo repository. -
Create a new release via the webpage https://github.com/esa/pagmo2/releases. It is very important that the "Tag version" field in the new release form starts with a
v
. That is, if you are releasing version2.3.4
, the "Tag version" field must readv2.3.4
. Also, there must be at least one major and one minor version number in the release number (e.g.,2.3
,2.3.4
,2.3.4.5
are all fine,3
is not :) ) -
The other fields in the new release form are not crucial, but please try at least to be consistent with previous releases :)
-
After the new release has been created, patiently wait for the CI builds to run. If everything went ok, the new pypi pygmo packages will show up at https://pypi.org/project/pygmo/
-
After the pypi packages have been published, it's time to update the conda packages at https://github.com/conda-forge/pagmo-feedstock and https://github.com/conda-forge/pygmo-feedstock. For both pagmo and pygmo you need to:
- fork the feedstock and create a new PR (just like you fork & create PRs in the usual github workflow)
- update the file
recipe/meta.yaml
. In normal circumstances, you need only to update the{% set version = ... %}
line at the very beginning (set it to the newly released version number), and thesha256:
field around line 9 or so. The sha256 field must be updated with the checksum of the newpagmo-x.y.z.tar.gz
source archive that was generated by the release steps above. In order to compute the new sha256, download the newly-released.tar.gz
archive from https://github.com/esa/pagmo2/releases, runopenssl sha256 filename.tar.gz
in a console, and copy the output to thesha256:
field in therecipe/meta.yaml
file.
- Do not tag a release in correspondence of a commit which skips the CI services (i.e., if it contains
[skip ci]
,[skip appveyor]
, etc.). Doing so will prevent the CI from running, and no packages will be produced for the new pagmo version.