I was born in Marechal Cândido Rondon, a small town in South Brazil. I studied in another town nearby, and after I completed my degree I moved to Joinville, where I currently live.
I work remotely as a site reliability engineer for a company called TOTVSLabs. I worked in some open-source stuff there too, mostly monitoring-related. Nothing too fancy though!
GoReleaser is a release automation tool for Go projects — it handles the compilation for several platforms, packaging and archiving to several formats, signing and uploading the release artifacts to several places. All you need to do is write some YAML.
It is a single workflow you can use to release all your projects. Set them up once, and then just call
goreleaser when you tag or wire it up to TravisCI, CircleCI, GitHub Actions or several others, so its done automatically for you. You can choose and follow any of the installation methods listed here: goreleaser.com/install. The website also has extensive docs.
I was just scratching my own itch really. I had a couple of projects and I hated to copy-paste release scripts around and how slow they were. So I did a proof-of-concept and named it “goreleaser”. It got traction right away and here we are now!
I think that the first big project that migrated to GoReleaser was Hugo. It was a big deal for me and I remember they helped shape what GoReleaser is now. After that, a couple of other big projects migrated, like NATS, Fabio, InfluxDB, Traefik and golang/mock, just to name a few. To me those are all success stories, because I made GoReleaser initially thinking on my own, small projects requirements. Bigger projects bring a whole new deal to the table, and they are able to use GoReleaser. I think that’s awesome.
I think the biggest issue we have now is that the configuration is a little confusing. There are various reasons for that and I think this is something that we can do better.