Skip to content

Commit

Permalink
ci: use config files from meta repository
Browse files Browse the repository at this point in the history
Signed-off-by: Carlos A Becker <[email protected]>
  • Loading branch information
caarlos0 committed Jan 14, 2022
1 parent 3aa9bf3 commit 41038a8
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 260 deletions.
54 changes: 7 additions & 47 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,52 +9,12 @@ concurrency:
group: goreleaser
cancel-in-progress: true

permissions:
contents: write
packages: write

jobs:
goreleaser:
runs-on: ubuntu-latest
env:
DOCKER_CLI_EXPERIMENTAL: enabled
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
distribution: goreleaser
version: latest
args: release --rm-dist --skip-sign
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
uses: charmbracelet/meta/.github/workflows/goreleaser.yml@main
with:
secrets:
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
docker_token: ${{ secrets.DOCKERHUB_TOKEN }}
gh_pat: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
goreleaser_key: ${{ secrets.GORELEASER_KEY }}
225 changes: 12 additions & 213 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,213 +1,12 @@
project_name: soft-serve

env:
- GO111MODULE=on
- CGO_ENABLED=0

before:
hooks:
- go mod download

builds:
- binary: "soft"
main: "./cmd/soft"
ldflags: -s -w -X main.Version=v{{ .Version }} -X main.CommitSHA={{ .Commit }}
goos:
- linux
- darwin
- windows
- freebsd
- openbsd
- netbsd
goarch:
- amd64
- arm64
- "386"
- arm
goarm:
- "6"
- "7"
ignore:
- goos: windows
goarch: arm64
- goos: windows
goarm: "6"
- goos: windows
goarm: "7"
- goos: openbsd
goarm: "6"

archives:
- format_overrides:
- goos: windows
format: zip
replacements:
windows: Windows
darwin: Darwin
386: i386
amd64: x86_64

nfpms:
- vendor: charmbracelet
homepage: "https://charm.sh/"
maintainer: "Christian Rocha <[email protected]>"
description: "A personal key value store"
license: MIT
formats:
- apk
- deb
- rpm
bindir: /usr/bin

brews:
- tap:
owner: charmbracelet
name: homebrew-tap
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
commit_author:
name: "Christian Rocha"
email: "[email protected]"
homepage: "https://charm.sh/"
description: "A personal key value store"

signs:
- artifacts: checksum

checksum:
name_template: "checksums.txt"
snapshot:
name_template: "{{ incpatch .Version }}-devel"
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"

release:
footer: |
* * *
Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli) or [The Fediverse](https://mastodon.technology/@charm).
<a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg?1" width="400"></a>
dockers:
- image_templates:
- "docker.io/charmcli/soft-serve:latest-amd64"
- "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
- "docker.io/charmcli/soft-serve:v{{ .Version }}-amd64"
- "ghcr.io/charmbracelet/soft-serve:latest-amd64"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64"
goarch: amd64
build_flag_templates:
- --platform=linux/amd64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.version=v{{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: Dockerfile
use: buildx
- image_templates:
- "docker.io/charmcli/soft-serve:latest-i386"
- "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
- "docker.io/charmcli/soft-serve:v{{ .Version }}-i386"
- "ghcr.io/charmbracelet/soft-serve:latest-i386"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386"
goarch: "386"
build_flag_templates:
- --platform=linux/i386
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.version=v{{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: Dockerfile
use: buildx
- image_templates:
- "docker.io/charmcli/soft-serve:latest-arm64"
- "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
- "docker.io/charmcli/soft-serve:v{{ .Version }}-arm64"
- "ghcr.io/charmbracelet/soft-serve:latest-arm64"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64"
goarch: arm64
build_flag_templates:
- --platform=linux/arm64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.version=v{{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: Dockerfile
use: buildx
- image_templates:
- "docker.io/charmcli/soft-serve:latest-armv7"
- "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
- "docker.io/charmcli/soft-serve:v{{ .Version }}-armv7"
- "ghcr.io/charmbracelet/soft-serve:latest-armv7"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
- "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7"
goarch: arm
goarm: "7"
build_flag_templates:
- --platform=linux/arm/v7
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
- --label=org.opencontainers.image.version=v{{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: Dockerfile
use: buildx

docker_manifests:
- name_template: docker.io/charmcli/soft-serve:latest
image_templates:
- docker.io/charmcli/soft-serve:latest-amd64
- docker.io/charmcli/soft-serve:latest-arm64
- docker.io/charmcli/soft-serve:latest-armv7
- docker.io/charmcli/soft-serve:latest-i386
- name_template: ghcr.io/charmbracelet/soft-serve:latest
image_templates:
- ghcr.io/charmbracelet/soft-serve:latest-amd64
- ghcr.io/charmbracelet/soft-serve:latest-arm64
- ghcr.io/charmbracelet/soft-serve:latest-armv7
- ghcr.io/charmbracelet/soft-serve:latest-i386
- name_template: docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}
image_templates:
- docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
- docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
- docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
- docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
- name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}
image_templates:
- ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
- ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
- ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
- ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
- name_template: docker.io/charmcli/soft-serve:v{{ .Version }}
image_templates:
- docker.io/charmcli/soft-serve:v{{ .Version }}-amd64
- docker.io/charmcli/soft-serve:v{{ .Version }}-arm64
- docker.io/charmcli/soft-serve:v{{ .Version }}-armv7
- docker.io/charmcli/soft-serve:v{{ .Version }}-i386
- name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Version }}
image_templates:
- ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64
- ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64
- ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7
- ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386
includes:
- from_url:
url: charmbracelet/meta/95706854f48e6c525284dcf8d2ca912228f06b0f/goreleaser.yaml

variables:
main: "./cmd/soft"
binary_name: soft
description: "A personal key value store"
github_url: "https://github.com/charmbracelet/soft-serve"
maintainer: "Christian Rocha <[email protected]>"
brew_commit_author_name: "Christian Rocha"
brew_commit_author_email: "[email protected]"

0 comments on commit 41038a8

Please sign in to comment.