To release a new version of the ghasum
project follow these steps (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/ghasum.git
-
Update the version number following to the current year-month pair in the
cmd/ghasum/version.go
file:- const version = "1.2.2" + const version = "1.2.3"
-
Commit the changes to a new branch and push using:
git checkout -b 'version-bump' git add 'cmd/ghasum/version.go' git commit --message 'version bump' git push origin 'version-bump'
-
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 v1.2.3 git push origin v1.2.3
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.
-
Create pre-compiled binaries - with checksums - for various targets using:
go run tasks.go build-all
-
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 "{version}" (e.g. "v1.2.3"). The release artifact should be the pre-compiled binaries, including checksums, from the previous step.