Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slmingol/gorelease_ex
gorelease_ex is an example repo that demonstrates tying several technologies and concepts together, mainly: goreleaser, Docker container packaging, GitHub Actions + Workflows, Brew packaging, ghcr.io, hub.docker.com lifecycle management.
https://github.com/slmingol/gorelease_ex
brew dockerfile github-actions golang
Last synced: 2 months ago
JSON representation
gorelease_ex is an example repo that demonstrates tying several technologies and concepts together, mainly: goreleaser, Docker container packaging, GitHub Actions + Workflows, Brew packaging, ghcr.io, hub.docker.com lifecycle management.
- Host: GitHub
- URL: https://github.com/slmingol/gorelease_ex
- Owner: slmingol
- License: mit
- Created: 2021-05-05T04:44:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-19T18:02:20.000Z (over 2 years ago)
- Last Synced: 2024-10-04T21:44:20.637Z (3 months ago)
- Topics: brew, dockerfile, github-actions, golang
- Language: Shell
- Homepage:
- Size: 4.56 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gorelease_ex
## Statuses
[![license](https://img.shields.io/badge/License-MIT-purple.svg)](LICENSE)
[![artifact-janitor](https://github.com/slmingol/gorelease_ex/actions/workflows/artifact-janitor.yml/badge.svg)](https://github.com/slmingol/gorelease_ex/actions/workflows/artifact-janitor.yml)
[![build-release](https://github.com/slmingol/gorelease_ex/actions/workflows/build-release.yml/badge.svg)](https://github.com/slmingol/gorelease_ex/actions/workflows/build-release.yml)
[![Tag](https://img.shields.io/github/v/tag/slmingol/gorelease_ex)](https://github.com/slmingol/gorelease_ex/tags)## TLDR
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## Background
This repo is a WIP to build out goreleaser + GitHub Actions/Workflows which will accomplish the following things:- Make use of [goreleaser](https://goreleaser.com/) to build artifacts - [here](https://github.com/slmingol/gorelease_ex/blob/main/.goreleaser.yml)
- [Build, package, & release](https://github.com/slmingol/gorelease_ex/blob/main/.github/workflows/build-release.yml) Go applications using GitHub's [Release tab on this repo](https://github.com/slmingol/gorelease_ex/releases)
- Build Docker containers using [GitHub's Container Registry (ghcr.io)](https://github.com/users/slmingol/packages/container/package/gorelease_ex_) & [DockerHub (hub.docker.com)](https://hub.docker.com/repository/docker/slmingol/gorelease_ex)
- Build an installable [Brew TAP and add binaries to it](https://github.com/slmingol/homebrew-tap)
- Demonstrate how to do all this using just [goreleaser](https://goreleaser.com/) + GitHub workflows + actions
- Build out a [janitor GitHub workflow](https://github.com/slmingol/gorelease_ex/blob/main/.github/workflows/artifact-janitor.yml) that'll "reap" old artifacts and containers from ghrc.io & hub.docker.com## References
### GitHub Artifacts (packages + containers)
- https://docs.github.com/en/packages/learn-github-packages/viewing-packages
- https://docs.github.com/en/packages### GH Actions
- https://github.com/marketplace/actions/debugging-with-tmate
- https://github.com/marketplace/actions/docker-login
- https://github.com/dev-drprasad/delete-older-releases
- https://github.com/marketplace/actions/dynamic-badges### Goreleaser
- https://goreleaser.com/customization/homebrew/
- https://goreleaser.com/customization/build/
- https://goreleaser.com/customization/docker/
- https://goreleaser.com/customization/docker_manifest/