cespare / reflex

Run a command when files change
MIT License
3.39k stars 136 forks source link

Binary downloads #31

Closed calebmer closed 3 years ago

calebmer commented 8 years ago

One of this repository's proposed benefits as written in the readme: "Reflex has no dependencies. No need to install Ruby or anything like that." Yet the instillation reads:

$ go get github.com/cespare/reflex

I don't want to install go to use this library. Could this dependency be removed with binary downloads?

cespare commented 8 years ago

The README also says

TODO: provide compiled downloads for linux/darwin amd64.

But I've never gotten around to it, mostly because I have no need for this. Do you have a suggested method? I've considered using Bintray.

calebmer commented 8 years ago

GitHub releases are preferable as that's where I generally check first.

cespare commented 8 years ago

Ah, I forgot that GH releases can included binaries. Good idea.

cescoferraro commented 8 years ago

@calebmer just uploaded some to my fork. compiled them with gox. https://github.com/cescoferraro/reflex/releases/tag/v0.1.0

@cespare go get its not cacheble inside a Dockerfile there is a actual need for them on this repo

sagikazarmark commented 7 years ago

I would consider using https://github.com/goreleaser/goreleaser

It's quite awesome and integrates nicely into the CI workflow.

issmirnov commented 6 years ago

Here's a sample goreleaser config that would work well for this repo:

build:
  main: .
  binary: reflex
  goos:
    - darwin
    - linux
archive:
  replacements:
    amd64: 64-bit
    386: 32-bit
    darwin: MacOS
    linux: Linux
  files:
    - README.md
    - LICENSE

You can install goreleaser on your system with brew install goreleaser/tap/goreleaser or a manual download from https://github.com/goreleaser/goreleaser/releases.

Once you do that, you can run the following workflow:

export GITHUB_TOKEN=`YOUR_TOKEN` # Get this at https://github.com/settings/tokens
git tag -a v1.2.3 -m "your release message"
git push origin --tags
goreleaser

There is also Travis Integration.


This would be very much appreciated by many users who don't have the full go toolkit installed. I'm sure @sagikazarmark would be happy to answer any questions, as am I.

jwilner commented 3 years ago

I've opened a PR https://github.com/cespare/reflex/pull/80 that should totally address the concerns of this issue.

cespare commented 3 years ago

OK, releases have binaries attached to them now.