Releases – a workflow for shipping software to end users

  • I was a vocal critic when GitHub discontinued their downloads product earlier this year. I work on open source projects with compiled binaries. GitHub's answer to distribution had been "Use S3" which I never found satisfactory.

    As soon as they release an API, I'll be migrating all my projects over.

    EDIT: Just added my first release. Super easy. https://github.com/hawkthorne/tmx2lua/releases

  • I just had a glimpse of a wonderful future where GitHub releases a payments system, packaging options, and suddenly becomes an ideal app store ecosystem.

  • It would be amazing to have public Releases from a private repo.

  • Here's a few examples of Releases:

        https://github.com/reactiveui/reactiveui/releases
        https://github.com/github/akavache/releases
        https://github.com/xpaulbettsx/splat/releases

  • While on the subject: does anyone know a software/service for automating software releases?

    I usually perform these steps manually:

    create a new tag, merge the “next” branch into the “master” branch, run “make dist” from a clean checkout, do a handful of sanity checks on the result, gpg-sign it, push it into a separate git repository for the website, archive the current docs in the website, update the website’s docs with the new docs, send posts to a mailing list, twitter, google+, update the changelog with a placeholder for the new version.

    I realize not 100% of that is reasonably automatable, but is there anything which tries to tackle this problem?

  • Cool! We finally have downloads back!

    It looks like this fails on tag names that have a slash in them.

  • Is there any way to add the release notes via a git commit? This is very nice, but it introduces further dependence on GitHub if something like that isn't possible. I suppose as long as there's API access someone could / will write an exporter, though. Anyway, great stuff either way!

  • This sounds like the death of SourceForge. (I know, you could argue that it's already dead, and also argue that it's very much alive)

  • Something like this was missing since they removed the uploads [1].

    Basically a release bundle may not be exactly the same stuff you have in your source code repository. You may need to generate documentation, configure files, run setup.py sdist or whatever, so a release may not be exactly a snapshot of your git repo.

    So this is perfect. Great feature GitHub, thanks!

    It would be nice that tags != releases though, because I can think of scenarios where you may add a tag that is not meant to be a release (ie. security update, you may want to tag the commit with a CVE).

    Also it would be great if you could just link or display the changelog, CHANGES or NEWS instead of writing a text describing the release. That's for projects that already have a release procedure, but for the rest this is HUGE change because GitHub just improved their project management! I love it!

    [1]: https://github.com/blog/1302-goodbye-uploads

  • I like it a lot :) One question though: Will there be graphs about the number of downloads of those release files?

  • Excited for this! No more view raw and save.

  • Any news on if/when an API for this is coming? Could be super useful.

  • Excellent timing, just released a new version of MoonScript today, here it is in release form: https://github.com/leafo/moonscript/releases/v0.2.4

  • Goodbye SourceForge!

  • I see a problem with the current implementation: Releases are auto-generated from git tags. That means all tags you'll ever use on your repo will be auto-exposed as "release", even if the tag reads "dead_end_implementing_foo" or "before_major_rewrite". Tags are an implementors' tool, releases belong to product management. I want to be able to control my releases, so at least be able to delete auto-generated ones (without losing the git tag).

  • Wonderful, however the UI for upload sucks.

    It requires Adobe Flash to upload and since I have blocked plugins by default, even if I enable the plugin after loading the page (through Firefox's click to play), it doesn't work.

    GitHub, please: 1. don't make Adobe Flash necessary. 2. allow me to select a file through browser's File dialog. I don't like drag and drop.

  • Well done. This will work quite well with Vincent Driessen's "A Successful Git Branching Model." http://nvie.com/posts/a-successful-git-branching-model/ And with nearly all sensible git branching models for that matter.

  • Interesting that they launch this without API access and without adding it to the right hand nav. Sure, it's above your repo but I don't think that catches the eye enough and this is definitely meant to be a primary item users will be searching for.

  • What a great step for Github. I was impressed with Pages, and now they're providing what SourceForge granted the public with for so many years. Options for everyone. All without the sponsored hosting!

  • If you offer paid downloads from a private repository, preferably with an integrated licensing system, I'll be your first customer.

  • GitHub, thank you for this.

    Also, you used to have ZIP and Tarball downloads in the past, can you please bring back the Tarball downloads?

  • Hmm, tried to draft a release. But after saving I'm only getting http 500 errors on the release page.

  • undefined

  • wahoo!