To release a new version of the Tool Versions Update Action follow the steps found in this file (using v1.2.3 as an example):
-
Make sure that your local copy of the repository is up-to-date, sync:
git checkout main git pull origin main
Or clone:
git clone [email protected]:ericcornelissen/tool-versions-update-action.git
-
Update the version number following Semantic Versioning:
./script/version-bump.sh [major|minor|patch]
Or edit the
.version
file manually:- 1.2.2 + 1.2.3
-
Update the changelog:
./script/update-changelog.sh
Or edit the
CHANGELOG.md
file manually. First, replace all instances of_No changes yet._
with_Version bump only._
. Second, add the following after the## [Unreleased]
line, adjusting the version number for the release:### `tool-versions-update-action` - _No changes yet._ ### `tool-versions-update-action/commit` - _No changes yet._ ### `tool-versions-update-action/pr` - _No changes yet._ ## [1.2.3] - YYYY-MM-DD
The date should follow the year-month-day format where single-digit months and days should be prefixed with a
0
(e.g.2022-01-01
). -
Commit the changes to a new branch and push using:
git checkout -b release-$(sha1sum .version | awk '{print $1}' | head -c 7) git add .version CHANGELOG.md git commit --message "Version bump" git push origin release-$(sha1sum .version | awk '{print $1}' | head -c 7)
-
Create a Pull Request to merge the new branch into
main
. -
Merge the Pull Request if the changes look OK and all continuous integration checks are passing.
-
Immediately after the Pull Request is merged, sync the
main
branch:git checkout main git pull origin main
-
Create a git tag for the new version and push it:
git tag "v$(cat .version)" git push origin "v$(cat .version)"
Note At this point, the continuous delivery automation may pick up and complete the release process. If not, or only partially, continue following the remaining steps.
-
Update the
v1
branch to point to the same commit as the new tag:git checkout v1 git merge main
-
Push the
v1
branch:git push origin v1
-
Create a GitHub Release for the git tag of the new release. The release title should be "Release {version}" (e.g. "Release v1.2.3"). The release text should be identical.
Ensure the version is published to the GitHub Marketplace as well.