☕️ makerelease
Use this repository to build a macOS (x64) compatible binary, then release it on both GitHub and Homebrew.
Prerequisites
Install the goreleaser
command by running:
$ brew install goreleaser/tap/goreleaser
Updating Homebrew...
Use in Existing Projects
❗️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.
Step by Step Guide
This quick start guide is based on the guide found on GoReleaser.com, modified for brevity and relevance to BEW 2.5.
Step 1: Repository Setup
-
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.
Step 2: In Your Terminal
-
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
Step 3: Install and Test
-
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! 🍺