Use this repository to build a macOS (x64) compatible binary, then release it on both GitHub and Homebrew.
Install the goreleaser command by running:
$ brew install goreleaser/tap/goreleaser
Updating Homebrew...❗️If it's your first time releasing a Go application on Homebrew, you are strongly encouraged to fully complete the Step by Step Guide as written. You'll gain the experience required to release your own Go programs on Homebrew.
-
In the root of your Go project, run the following command to copy the
.goreleeaser.ymlfile to the root of your repo:curl https://raw.githubusercontent.com/Make-School-Labs/makerelease/master/.goreleaser.yml > .goreleaser.yml -
Follow the Step by Step Guide below, replacing
hellohomebrewwith the name of your project.
This quick start guide is based on the guide found on GoReleaser.com, modified for brevity and relevance to BEW 2.5.
-
Create a new GitHub repository named
homebrew-hellohomebrewexactly. -
(Skip for Existing Projects)
Import a GitHub repository and match this screenshot exactly: -
Create a valid GitHub token with the
reposcope. It will be used to deploy releases to your GitHub repository on your behalf. Save the token in a safe place. You'll need it later. -
Open your terminal and follow the steps below.
-
Clone your repository locally and
cd hellohomebrew:$ git clone https://github.com/GITHUB_USERNAME/hellohomebrew
-
Create a new module by running:
$ go mod init github.com/GITHUB_USERNAME/hellohomebrew
-
Open
.goreleaser.ymland changeGITHUB_USERNAMEto your GitHub username. -
GoReleaser will use the latest Git tag of your repository. Create a tag and push it to GitHub:
$ git tag -a v1.0.0 -m "First release" $ git push origin v1.0.0 -
Test GoReleaser before doing a real release. This command only builds and packages your code:
$ goreleaser release --skip-publish --rm-dist --snapshot
-
If it worked, run GoReleaser at the root of your repository:
$ export GITHUB_TOKEN=YOUR_GITHUB_TOKEN $ goreleaser release --rm-dist
-
Install your program from Homebrew:
$ brew install GITHUB_USERNAME/hellohomebrew/hellohomebrew
-
Time to see if it works! Run the command to test:
$ hellohomebrew 🍺 Hello from Homebrew! 🍺

