Skip to content
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

Releases / Binary Distribution #21

Closed
cookiengineer opened this issue Aug 5, 2018 · 12 comments
Closed

Releases / Binary Distribution #21

cookiengineer opened this issue Aug 5, 2018 · 12 comments

Comments

@cookiengineer
Copy link

Is there a way to distribute binaries in this project by using the releases/tags for it?

It would heavily improve the installation for people not familiar with go and people that don't have a working go setup and just want to build a simple package for a binary.

@jesseduffield
Copy link
Owner

Yeah that sounds like a good idea. I'm not very across how to set up a good release workflow. There's a PR (#20) up that does this for ubuntu but it's pending my question about how to update etc. Does anybody have some pointers on the best way to do this?

@dawidd6
Copy link
Collaborator

dawidd6 commented Aug 5, 2018

Maybe build binary on some kind of CI service like travis-ci and then upload it somewhere with link attached in README.

@cookiengineer
Copy link
Author

@jesseduffield What I did for my projects is that on my buildbot I use curl to upload the binaries into the releases section automatically after they've been built and tested.

AFAIK circle and travis both have a github releases API that also allows you to push the binaries to github afterwards, but I don't know their limitations on that.

(My binaries were too big, as it was around 12GB of system images etc. so I had to use a VPS for that.)

@jesseduffield jesseduffield added this to the Easy Installation milestone Aug 6, 2018
@fleaz
Copy link

fleaz commented Aug 6, 2018

Hey,

I started to use GoReleaser a few days ago for some of my Go projects. You have a pretty simple .goreleaser.yml in your repository and when you run goreleaser on a commit with a tag, it will automatically build binarys for macos/linux/windows and also 32/64bit depending on your configuration and because you gave him an API token for Github it will push them directly to the 'Releases' section.
You can take a look at my testrepo which contains configuration for GoReleaser and also TravisCI to automatically build new tags.

Felix

@Code0x58
Copy link

Code0x58 commented Aug 6, 2018

I've used Travis to build binaries before for releases on github, then you can just have download based instructions (or use those binaries in package managers):

example PR on atombender/ktail with setup instructions.

@jesseduffield
Copy link
Owner

I ended up using travis ci and we've got releases / binaries working :) Please feel free to have a look at the .travis.yml and see if there's any improvements that could be made

@dawidd6
Copy link
Collaborator

dawidd6 commented Aug 8, 2018

Can we also build binaries for other architectures like arm and arm64?

@jesseduffield
Copy link
Owner

yep, getting onto that now

@jesseduffield
Copy link
Owner

we have LIFTOFF https://github.com/jesseduffield/lazygit/releases (note I've removed the version number from the end of the file because we now store that in the binary itself)

@jesseduffield
Copy link
Owner

closing

@Tallefer
Copy link

@jesseduffield What do you think about adding 32 bit builds to the bunch?

@jesseduffield
Copy link
Owner

@Tallefer I've chucked 32 bit builds in the latest release :) https://github.com/jesseduffield/lazygit/releases/tag/v0.1.66

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants