gitbutler icon indicating copy to clipboard operation
gitbutler copied to clipboard

Create releases on GitHub

Open krlvi opened this issue 1 year ago • 3 comments

Currently our release process uploads binaries to S3. We can continue doing so but it would be neat if we could also have the script create releases here on GitHub, for easy of downloading and also to have the changelog displayed there as well (in addition to discord #releases channel )

krlvi avatar Apr 03 '24 18:04 krlvi

I was doing this manually for a while, but it seemed unclear what the advantage was exactly. What do we hope to gain from this?

schacon avatar Apr 05 '24 15:04 schacon

Well there is no advantage to doing it manually, that way leads to madness.

My use case is that the release notes for a release are consolidated in the UI for that release.. but if i skip a release then i have no easy way of looking for the changes.

x.x.1 -> x.x.2 is fine to look in the UI and say ok upgrade, but if you dont upgrade for any reason then your upgrade path could be x.x.1 -> x.x.6 in which case the UI will only show the notes of x.x.6 not the diff x.x.1 -> x.x.6 and there is no way currently to see that in the repo without clicking on every release and nightly tag.

By doing github releases (or even just gathering the commits from last release to current tag for a non nightly builds) it makes it easy for someone to see all the relevant changes. Prefixing branches / commits with [feat] or [breaking] or [bug] could also be used to help auto generate.

ryanm101 avatar Apr 08 '24 12:04 ryanm101

My use case is that the release notes for a release are consolidated in the UI for that release.. but if i skip a release then i have no easy way of looking for the changes.

This will be addressed by showing release-notes for inbetween-versions as well. Here is the issue for that: #3015 .

Byron avatar Apr 23 '24 19:04 Byron

I was doing this manually for a while, but it seemed unclear what the advantage was exactly. What do we hope to gain from this?

I hit an issue yesterday and went looking for an old version as a quick alternative to troubleshooting. As a user, I'd definitely appreciate an easy way to revert to a prior version of the app if I hit a breaking change. If you list the headline changes in each release this is also a super easy way for users who have been out of the loop for a while to understand where the likely breaking change might be.

Props to the team for having already fixed the issue on master before I dug into it though 🙌

LukeCarrier avatar Jun 05 '24 10:06 LukeCarrier

Kind of the opposite of what is asked, but I thought I'd mention that nightlies are a way to try the latest, at most a day old, master, without having to compile it yourself.

Byron avatar Jun 05 '24 15:06 Byron

I would like to try and include GitButler on an OSS project I am involved with, but this requires a way to programmatically download the latest release assets (RPM).

For other projects, we are simply fetching the download URL from the latest GitHub release that matches the architecture and OS type.
With GitButler, it's very difficult to do this since there is no API to fetch the latest version, and if there was, your website download URLs are not guessable. You appear to append a build number that you do not publish anywhere else, so directly downloading the assets is not trivial.

With GitHub releases, we would be able to do something as simple as we do for dive:

$ rpm-ostree install $(curl https://api.github.com/repos/wagoodman/dive/releases/latest | jq -r '.assets[] | select(.name| test(".*_linux_amd64.rpm$")).browser_download_url')

It would be great if GitButler release assets were either made available at a stable or "guessable" URL, or if these assets were attached to some GitHub Releases to make it easier to automate the download and installation of these assets.

p5 avatar Jul 09 '24 23:07 p5

@p5 you can use this api: https://app.gitbutler.com/releases

It's good to note that the download URL is immutable, but it seems that the version may not be. See https://github.com/flathub/com.gitbutler.gitbutler/pull/43 and https://github.com/flathub/com.gitbutler.gitbutler/pull/42

honnip avatar Jul 10 '24 09:07 honnip

The latest releases can be fetched from

  • Nightly: https://app.gitbutler.com/releases/nightly
  • Stable: https://app.gitbutler.com/releases

These will both dump JSON blobs with info about the latest verisons, including a download link.

We have been posting releases to GitHub releases lately as well though, so i will close this issue :pray:

ndom91 avatar Aug 22 '24 12:08 ndom91