-
Notifications
You must be signed in to change notification settings - Fork 12.2k
Tag release with build number instead of short hash #2732
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
Tag release with build number instead of short hash #2732
Conversation
|
@longregen I agree with you for the most part, however, since @ggerganov has not yet tagged an actual release, and every "release" so far has been just a "build", going for |
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.
i am not sure removing the short commit hash is a good idea. sure, having the build number creates a very sortable situation, but it might be funky for branches (can be subject to force pushes, or the same branch name can be reused)
100%. I think this PR is strictly better than the current state. I also agree that the short hash should be included in the build tag for easier lookups. |
In addition to making it sortable, I was hoping to simplify it down to something similar to a version number. I hadn't given branches enough thought though. I see why you're the resident ci expert. It seems to be the branch's malleability that are causing these issues. We could include the short hash only when it isn't master. I'm not sure anyone actually uses the hash from the release to look up the code since the release page itself has a hash link that points to exact commit the build comes from. But I suppose if we do want to keep the hash at all times, perhaps a compromise on the simplicity is just, for master: Thoughts? |
Still builds after the changes. |
hm looking at it, it looks kinda unreadable release-by-build-number-1033-9a13fc4
@ggerganov I'd like your approval for this, I think this is good.
its fine, just as i said, this is unlikely to cause issues for master (no forcepushes), and branch releases are rare as is. |
I'm used to seeing the commit number prefixed with 'r', for "revision". On Arch Linux, VCS packages with no tags are versioned as e.g.
|
Yes - makes sense. I agree with @cebtenzzre that a short prefix on |
A short prefix on master, so something like I tried to look for any kind of standard but there really isn't one, and as far as I could tell, only Arch Linux uses the "r" prefix. The reasoning is sound though, without a prefix, "1345" will appear newer when sorted against "0.1.0", but "r1345" will appear older when sorted against "v0.1.0". We could use "b" for build given that we already refer to this number as the "build" in |
I also realized slashes are commonly used in branch names but are not allowed in tag names or file names. So I sub those out as well. (Successful build.) |
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.
good catch
* Modified build.yml to use build number for release * Add the short hash back into the tag * Prefix the build number with b
Better versioning for the releases has been requested multiple times in the past. In issue #2292, I had suggested using the build number (instead of the date as originally suggested) and got a thumbs up from ggerganov. That said, it was a month ago, so I hope this is still an acceptable solution.
I tested this on my fork (it took a couple tries) but it seems to work now.
The only change we might want to make is to put something in front of the build number for the release tag. (The release files still start with "llama".) I checked other repos and a lot of them just put their version number (
0.8.3-beta
or1.0.2
) but if just1032
feels strange, we could instead use something likebuild-1032
and it would still be sortable and easy to tell which was newer just by looking: