build: Update version management scripts and control #2028
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses a few annoying, old, stale, or niggling issues with version updating in the project. The idea is to harmonise and simplify how we manage versions for releases in the repo and keep them consistent with the website etc. The work here assumes that we want to continue with the current release branching strategy - i.e. separate branches for releases, with patches appended and back-merged into
develop
.The changes are:
git-cliff
knows exactly what it will be) but this simplifies its deployment.latest
tag which follows the last released version, and makes generatinggit-cliff
change logs and CI version checks nice and easy.continuous
pushes, but this meant we had different versions in different files in order to distinguish the development code from the website release. This is now moved to therelease
pipeline, making it the authority on the release version presented on the website.develop
in order to update the version inREADME.md
, but this is all we have to do.update-release-info
action has been renamed toset-latest-release-point
. This handles the creation of theREADME.md
-modifying PR mentioned in 5). The PR titles created in this action have been prefixed with "[Latest Release]" so that....latest-release-point.yml
runs only ondevelop
on push, reacts only to changes onREADME.md
, and only runs if the head commit's title is prefixed with "[Latest Release]". If all those are true then thelatest-release-point
tag is updated to refer to this commit.TODO
release
build to run changeversion to bump version and check for differences to the current one. If no changes, proceed with build and publish, if only patch version changes then submit PR to bump numbers and fail, and if minor or major changes just fail.latest-release-point
to this commit somehow?continuous
workflow to dynamically set code / package version at build time, since we don't know what the new version number will be. This depends ongit-cliff
being able to trace back to thelatest-release-point
tag generated by 7).