-
Notifications
You must be signed in to change notification settings - Fork 171
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
Automatic semantic versioning #593
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, want to meet to understand how the gitversion.yml and then I'll approve
workflow_dispatch: | ||
inputs: | ||
force: | ||
description: "Force untagged release (expert mode)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the usecase for pushing an untagged release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Allows someone to release a feature branch for debugging. Running the workflow manually should be rare.
Enables automatic semantic versioning to released docker images
To release tagged docker images
v0.0.1
orv0.0.1-rc.1
You can also create a tag locally and push to origin to automatically create a new release
If you need/want to manually push an untagged release you can trigger the workflow manually and specify
force
flag. If you don't force, then the image is not published.Previously the workflow required you to enter a bunch of redundant information. This is no longer necissary.
The Makefile is a bit ugly, but it is handling 2 error conditions
.git
repo, so calculating semver is not possible. We fallback to using the parent dir name as the version (ieeigenda-0.7.1
)0.0.0
If a user clones
eigenda
where HEAD is taggedv0.8.0
and then commits some changes onmaster
, then build docker image, theirnode --version
will resolve semver tov0.8.1-pre.1
. In that case gitversion knows that the last tagged release wasv0.8.0
, it assume a minor point release bump and append-pre.1
metadata akaprerelease.1
.