diff --git a/Web/develop/release.rst b/Web/develop/release.rst index 744d2559..04d11a6f 100644 --- a/Web/develop/release.rst +++ b/Web/develop/release.rst @@ -26,21 +26,40 @@ the CoolProp library. have been closed since then. It reports problems such as missing labels - you should take the time to fix all problems. +* **Version**: Edit CMakeLists.txt and remove all qualifiers (alpha, dev, + ...) from the version number and update the number for the + upcoming release. +* **Changelog**: Update the changelog and generate a list of closed GitHub + issues: -* **Version**: Edit CMakeLists.txt and remove all qualifiers (alpha, dev, ...) from the version number. -* **Changelog**: Update the changelog and generate a list of closed GitHub issues: - - - Move into the ``dev/scripts`` folder and do ``python milestone2rst.py vX.X.X`` where ``vX.X.X`` is the version number of the milestone on github. - - Copy the generated text (goes to stdout) into the changelog file in ``Web/coolprop/changelog.rst`` + - Move into the ``dev/scripts`` folder and do ``python milestone2rst.py + changelog vX.X.X`` where ``vX.X.X`` is the version number of the + milestone on GitHub. + - Copy the generated text (goes to stdout) into the changelog file in + ``Web/coolprop/changelog.rst``. You might also use the same text for + the annotated tag / release on GitHub. -* **release branch**: Merge all code from *master* into *release* branch -* **build bots**: Force all buildbots to run on the *release* branch, this will also change the upload folder from *binaries* to *release*. -* **script**: Wait for all bots to finish and run the release script by launching the ``release version`` bot with dry run disabled and the correct version number. This uploads binaries to pypi and sourceforge. Ignore the warning ``failed to set times on "/home/project-web/coolprop/htdocs/jscript/coolprop-latest.js"``, it is a symlink and will be overwritten... -* **clean up**: If everything went well, you can proceed: +* **Merge Code**: Close issues and merge pull requests where appropriate. + Merge all relevant changes from your feature branches + into the *master* branch and merge *master* into + *release* branch. +* **Build Bots**: Force all buildbots to run on the *release* branch, this + will also change the upload folder from *binaries* to + *release*. +* **Release**: Wait for all bots to finish and run the release script by + launching the ``release version`` bot with dry run disabled + and the correct version number. This uploads binaries to + pypi and sourceforge. Ignore the warning ``failed to set + times on "/home/project-web/coolprop/htdocs/jscript/coolprop-latest.js"``, + it is a symlink and will be overwritten... +* **Clean and Tag**: If everything went well, you can proceed: - - Tag the release branch in your git software. It is a good idea to make an annotated tag and include the information on the closed issues here as well. - - Change the default download file on sourceforge to point to the new zipped sources. - - Bump the version number in the CMake file and commit. + - Tag the release branch in your git software. It is a good idea to + make an annotated tag and include the information on the closed + issues here as well. + - Change the default download file on sourceforge to point to the new + zipped sources. + - Bump the version number in the CMake file and commit. - Announce the new features if you like... - + That's all folks. diff --git a/dev/scripts/milestone2rst.py b/dev/scripts/milestone2rst.py index e3b6d550..1986ea7a 100644 --- a/dev/scripts/milestone2rst.py +++ b/dev/scripts/milestone2rst.py @@ -115,7 +115,7 @@ def check_issues_for_labels_and_milestone(ms: str, _issues_dict: dict): if (len(_no_label_or_ms) + len(_wrong_milestone)) > 0: _log_msg("The following issues seem to have missing information:\n") - _log_msg(' - No "duplicate" or "invalid" label and no milestone information ({0}): \n'.format(len(_no_label_or_ms))) + _log_msg(' - No excluded label and no milestone information ({0}): \n'.format(len(_no_label_or_ms))) for _num in _no_label_or_ms: _log_msg(' #{0} - https://github.com/CoolProp/CoolProp/issues/{0} \n'.format(_num)) _log_msg(' - Closed issues that belong to a different milestone ({0}): \n'.format(len(_wrong_milestone))) @@ -223,6 +223,11 @@ if __name__ == '__main__': release_json = get_latest_tag_and_date() issues_json = get_issues_closed_since(release_json["tag_date"]) succ = check_issues_for_labels_and_milestone(sys.argv[2], issues_json) + if succ: + _log_msg("All issues seem to have the correct labels and milestones, congrats!\n") + #else: + # _log_msg("There are some issues that seem to have incorrect label and milestone information.\n") + elif sys.argv[1] == "changelog": print(generate_issues(sys.argv[2])) print('')