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.yml
file 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
hellohomebrew
with 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-hellohomebrew
exactly. -
(Skip for Existing Projects)
Import a GitHub repository and match this screenshot exactly: -
Create a valid GitHub token with the
repo
scope. 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.yml
and changeGITHUB_USERNAME
to 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! 🍺