The gorelease_ex project is an example repo that demonstrates tying several technologies and concepts together, mainly:
- goreleaser
- Docker container packaging
- GitHub Actions + Workflows
- Brew packaging
- Releasing and lifecycle management around:
- ghcr.io
- hub.docker.com
This repo is a WIP to build out goreleaser + GitHub Actions/Workflows which will accomplish the following things:
- Make use of goreleaser to build artifacts - here
- Build, package, & release Go applications using GitHub's Release tab on this repo
- Build Docker containers using GitHub's Container Registry (ghcr.io) & DockerHub (hub.docker.com)
- Build an installable Brew TAP and add binaries to it
- Demonstrate how to do all this using just goreleaser + GitHub workflows + actions
- Build out a janitor GitHub workflow that'll "reap" old artifacts and containers from ghrc.io & hub.docker.com
- https://docs.github.com/en/packages/learn-github-packages/viewing-packages
- https://docs.github.com/en/packages