-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a new minor release #37
Comments
I followed your instructions and closed the pull request, but now the CHANGELOG does not look like it was on the release branch that I checked out.... |
In the pull request it looks like there is only 1 single commit in the I'll clean up this release and then and we can do it again with locally you should run
as otherwise, when you use |
So, I did |
Ok, things are set back again.
Oh, I see now: I had just played it through once yesterday, and thus there already was a branch You can play it through again with |
Once this is sorted out we have the release, versioning, ci/cd for testing and linting and the automatic docs all set up and I'll focus on the actual code again. |
Ok. I had to to a git pull because I was still seeing your changelog. and I get:
|
You just need to update the local branch and git wants to know how. If you have no local changes do merge 'git merge --ff-only' and you should be good to go.
And then fetch from origin and checkout the remote branch again. |
Done! :-) |
Now we have the release pipeline set up, we can easily create new releases.
All you need to do is publish a new tag following the semver convention for a release candidate.
In our case we could release version
1.0.1
containing some bug fixes and "meta" features (documentation, testing, linting, ...).To do so, simply checkout
main
locally and type (for example):Note1: The
-s
is for signing the tag and can simply be omitted.Note2: You could also write
1.0.1-rc1
or1.0.1-rc20
if this is the 20th attempt to publish version1.0.1
.Then head over to our Pull Requests and wait for a new Pull request to pop-up, called
Release version 1.0.1
or so.If you inspect the changes in this pull request, you will see that it added some lines to the CHANGELOG file. If fact it uses chglog and tries to automatically extract changes from commit messages since the last tag. You might start a commit message with
feat:
orfix:
and chglog will pick this up. The relevant config for this can be found in the ./.chglog folder of the repository.I honestly never managed to adhere to these "tags" in commit messages, I'm also not a fan of encoding things in the commit message, so I edit the CHANGELOG.md file in the Pull Request of a new release.
To do so checkout the branch that was created for the pull request (it's called
release-1.0.1
or so) and adapt the CHANGELOG.md file (and other files) to your liking.Here is what I would add to the CHANGELOG.md for this particular release:
...(keep the heading unchanged as it will be parsed for the release message later)
Bug Fixes
numpy
2.0 #28Meta Features
...(keep older changes unchanged)
I'd basically go through the closed issues and mention what might be of interest
If you are happy with the state of the CHANGELOG.md file simply merge the Pull Request.
After a while you will see a new tag with the cleaned version
1.0.1
(so the-rc...
is gone) and there will also pop up a new release.DONE! 🚀 You've just published a new release!
Note: These
release-X.Y.Z
branches are particular in the sense that we do generally not want to update them with new content ofmain
before merging them. The reason for this is simple:release-...
branches are here to prepare release of a particular state ofmain
that we set when we set theX.Y.Z-rc
tag. Ifmain
changes then it is likely that a new fix, feature or breaking change were introduced which, according to the semver standard should lead to a version increase, thus we should simply create a new release candidateX,Y+1,Z-rc
(e.g. new feature) rather than mergingmain
into therelease-X.Y.Z
branch. We still want to merge therelease-X.Y.Z
branch intomain
eventually though: It contains changes (like the edits of CHANGELOG.md) that we want to push pack tomain
.What happens when you merge this
Release version ...
pull request is this:release-X.Y.Z
branch gets the cleaned tagX.Y.Z
main
is moved forward to this merge commitSo what is published is the state of
main
when theX.Y.Z-rc
tag was created (plus edits to the CHANGELOG.md, etc. that were made in therelease-X.Y.Z
branch).The text was updated successfully, but these errors were encountered: