metaverse / truss

Truss helps you build go-kit microservices without having to worry about writing or maintaining boilerplate code.
Other
734 stars 143 forks source link

Use goreleaser to manage releases #275

Closed zaquestion closed 3 years ago

zaquestion commented 5 years ago

Will build truss for Mac (+push to homebrew tap) and linux. Will add binaries and a generated changelog to the github release

zaquestion commented 5 years ago

@lelandbatey There isn't a great way to install protoc-gen-go and other go project dependencies with brew and more so with goreleaser's formula generator. I considered opening a feature request on goreleaser to include support for the resource definition for brew formulas, but I don't think it would help much because protoc-gen-go doens't have released binaries anyways.

Beyond brew the release binaries this would generate also wouldn't have these dependencies. Thoughts on having truss check for these dependencies at runtime and offer to go get them for the user. This could be useful for go geting the truss repo itself which contains the annontations.proto users reference.

zaquestion commented 5 years ago

Breaking news, evidently protoc-gen-go made its way into brew. https://github.com/Homebrew/homebrew-core/blob/d0321a5fbe88267fa9a4ca5f7199f2294326c3fd/Formula/protoc-gen-go.rb which is great and I think means we could probably get protoc-gen-gogo into brew core!

simenandre commented 3 years ago

Hello 👋

Are there any updates on this? I would appreciate being able to install truss with Homebrew. Anything I can help with?

zaquestion commented 3 years ago

@cobraz we need to get protoc-gen-gogo into homebrew, which IIRC was the last piece of the puzzle, short of some busy work to rewire goreleaser.

https://formulae.brew.sh/formula/protoc-gen-go (should be able to base it off of this formula) -- I've been meaning to submit a formula to homebrew core for a while.

zaquestion commented 3 years ago

PR'd homebrew to add gogo https://github.com/Homebrew/homebrew-core/pull/60022

zaquestion commented 3 years ago

Truss uses protoc-gen-gogofaster so we'll actually need that in brew first https://github.com/Homebrew/homebrew-core/pull/60084

zaquestion commented 3 years ago

Tested the resulting brew formula works and it works, which is to say truss functions. The only remaining quirk is that users still need to clone the truss repo into their gopath to leverage the annotations. Deps in general is still a problem for the built binaries... Perhaps we'll call this a step forward and document the additional steps for the different install scenarios

zaquestion commented 3 years ago

Okay, this branch keeps getting reset to the original PR, even tho I've force pushed over it multiple times with the latest changes and I'll be honest, it's freaking me out that I don't know how that's happening. So I'm closing this and opening a new PR.

zaquestion commented 3 years ago

https://github.com/metaverse/truss/pull/310