For example it has increased bob.extension from 2.4.5 to 3.4.5 where it should have been 3.0.0
I haven't checked other packages but I imagine this is the case elsewhere.
The tag changelogs on gitlab are markdown not rst. It would be proper to call the file changelog_since_last_release.md instead.
The release script should use bob_new_version script to avoid issues like this in future. If the script is not flexible enough, we can easily change it.
It would have been better to also point to merge requests in the changelogs. This way you can click in Gitlab's interface and see the actual code change easily.
The default tag for packages without any tag should be 0.0.1 instead of 1.0.0. Making a package version 1 means that the author will follow strict semantic versioning from now and the package is stable: https://semver.org/ However, this is not true at all.
Most packages (with only CI changes) should have gotten a patch version instead of minor.
The tags need to be sorted based on their version not their latest date.
The versions need to be bumped correctly.
Deprecate the new_version script in bob.extension.
4 of 8 checklist items completed
· Edited
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Here are my comments for the release script. Sorry I could not review it earlier.
The tag changelogs on gitlab are markdown not rst. It would be proper to call the file changelog_since_last_release.md instead.
The release script should use bob_new_version script to avoid issues like this in future. If the script is not flexible enough, we can easily change it.
It would have been better to also point to merge requests in the changelogs. This way you can click in Gitlab's interface and see the actual code change easily.
The default tag for packages without any tag should be 0.0.1 instead of 1.0.0. Making a package version 1 means that the author will follow strict semantic versioning from now and the package is stable: https://semver.org/ However, this is not true at all.
Most packages (with only CI changes) should have gotten a patch version instead of minor.
I wonder how the script has managed to increase the version of bob.blitz from 2.0.14 to 2.1.9. There must be other issues in the script because the tagged version is not even 2.1.14.
I wonder how the script has managed to increase the version of bob.blitz from 2.0.14 to 2.1.9. There must be other issues in the script because the tagged version is not even 2.1.14.
The tags returned by the gitlab API are not sorted by the release script.
Look at the list of tags returned for bob.blitz
I found another issue. Most packages are bumped to a minor version while I think they should have gotten a patch version only. Only their CI had changed and no functionality was added.
People must have confused what is major/minor/patch. The versions are like this: v major.minor.patch. From https://semver.org/
SummaryGiven a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
I found another issue. Most packages are bumped to a minor version while I think they should have gotten a patch version only. Only their CI had changed and no functionality was added.
No package should have been given a major version. We didn't break backward compatibility in this 3.1 release AFAIK.
I've looked ALL the commits from the released packages and excluding bob.bio.base, that had a commit 15 hours ago (an update in the conda recipe), we didn't have any commit in the master branch.
The nightlies are green, so we are good to go.
I'm proposing the following plan:
Put on hold ALL the Merge-Requests to the master branches of ALL published packages.
git reset --hard HEAD~2 for ALL published packages (special treat to bob.bio.base)
Remove the last tags from ALL published packages
Fix Pavel's release script (it's the best we have so far and despite this error, works). Later on we can implement other solution.
Carefully review the new versions of all packages (check if it's patch, minor or major)
Delete all the conda packages from the stable channel (shall we clean the betas too?).
Delete all the stable docs
Go on Pypi and delete the last releases ONE by ONE (there's no other way).
Start over the releasing process
What do you think guys?
Very likely I missed something (I don't have the full picture of it).
git reset --hard HEAD~2 for ALL published packages (special treat to bob.bio.base)
This is very dangerous. Is it possible that you do this in a different way? For example, can you confirm the commit messages before doing this?
Deleting the last to commit messages without checking properly is really dangerous.
Fix Pavel's release script (it's the best we have so far and despite this error, works). Later on we can implement other solution.
I have already pointed out several issues with this script: #79 (comment 27069) they need to be fixed before we use it.
Delete all the stable docs
You do not need to delete the stable folders but you need to delete the tag (e.g. v3.4.5) folders.
git reset --hard HEAD~2 for ALL published packages (special treat to bob.bio.base)
This is very dangerous. Is it possible that you do this in a different way? For example, can you confirm the commit messages before doing this?
Deleting the last to commit messages without checking properly is really dangerous.
I'm planning to do this locally and push it one by one (will be painful, but we can't risk (we don't have a staging gitlab))
Fix Pavel's release script (it's the best we have so far and despite this error, works). Later on we can implement other solution.
I have already pointed out several issues with this script: #79 (comment 27069) they need to be fixed before we use it.
Do you have some time to approach this?
Delete all the stable docs
You do not need to delete the stable folders but you need to delete the tag (e.g. v3.4.5) folders.