Skip to content

Commit

Permalink
ci: use config from meta repository
Browse files Browse the repository at this point in the history
  • Loading branch information
aymanbagabas committed Jan 24, 2022
1 parent 6777327 commit 300add5
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 246 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
name: build

on: [push, pull_request]

jobs:
test:
build:
strategy:
matrix:
go-version: [~1.16, ^1]
go-version: [~1.17, ^1]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
env:
Expand All @@ -26,3 +28,8 @@ jobs:

- name: Test
run: go test ./...

snapshot:
uses: charmbracelet/meta/.github/workflows/snapshot.yml@main
secrets:
goreleaser_key: ${{ secrets.GORELEASER_KEY }}
57 changes: 9 additions & 48 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,54 +5,15 @@ on:
tags:
- v*.*.*

concurrency: goreleaser

permissions:
contents: write
packages: write
concurrency:
group: goreleaser
cancel-in-progress: true

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:
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: charmbracelet/meta/.github/workflows/goreleaser.yml@main
secrets:
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
docker_token: ${{ secrets.DOCKERHUB_TOKEN }}
gh_pat: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
goreleaser_key: ${{ secrets.GORELEASER_KEY }}
208 changes: 12 additions & 196 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,196 +1,12 @@
project_name: skate

env:
- GO111MODULE=on
- CGO_ENABLED=0

before:
hooks:
- go mod download

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

dockers:
- image_templates:
- charmcli/skate:latest-amd64
- charmcli/skate:{{ .Tag }}-amd64
- charmcli/skate:v{{ .Major }}.{{ .Minor }}-amd64
- ghcr.io/charmbracelet/skate:latest-amd64
- ghcr.io/charmbracelet/skate:{{ .Tag }}-amd64
- ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}-amd64
ids: [skate]
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/skate
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/skate
- --label=org.opencontainers.image.version={{ .Tag }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: Dockerfile
use: buildx
- image_templates:
- charmcli/skate:latest-arm64
- charmcli/skate:{{ .Tag }}-arm64
- charmcli/skate:v{{ .Major }}.{{ .Minor }}-arm64
- ghcr.io/charmbracelet/skate:latest-arm64
- ghcr.io/charmbracelet/skate:{{ .Tag }}-arm64
- ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}-arm64
ids: [skate]
goarch: arm64
goarm: ""
build_flag_templates:
- --platform=linux/arm64/v8
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/charmbracelet/skate
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/skate
- --label=org.opencontainers.image.version={{ .Tag }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: Dockerfile
use: buildx
- image_templates:
- charmcli/skate:latest-armv7
- charmcli/skate:{{ .Tag }}-armv7
- charmcli/skate:v{{ .Major }}.{{ .Minor }}-armv7
- ghcr.io/charmbracelet/skate:latest-armv7
- ghcr.io/charmbracelet/skate:{{ .Tag }}-armv7
- ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}-armv7
ids: [skate]
goarch: arm
goarm: "7"
build_flag_templates:
- --platform=linux/arm32/v7
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://github.com/charmbracelet/skate
- --label=org.opencontainers.image.source=https://github.com/charmbracelet/skate
- --label=org.opencontainers.image.version={{ .Tag }}
- --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: charmcli/skate:{{ .Tag }}
image_templates:
- charmcli/skate:{{ .Tag }}-amd64
- charmcli/skate:{{ .Tag }}-arm64
- charmcli/skate:{{ .Tag }}-armv7
- name_template: ghcr.io/charmbracelet/skate:{{ .Tag }}
image_templates:
- ghcr.io/charmbracelet/skate:{{ .Tag }}-amd64
- ghcr.io/charmbracelet/skate:{{ .Tag }}-arm64
- ghcr.io/charmbracelet/skate:{{ .Tag }}-armv7
- name_template: charmcli/skate:v{{ .Major }}.{{ .Minor }}
image_templates:
- charmcli/skate:v{{ .Major }}.{{ .Minor }}-amd64
- charmcli/skate:v{{ .Major }}.{{ .Minor }}-arm64
- charmcli/skate:v{{ .Major }}.{{ .Minor }}-armv7
- name_template: ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}
image_templates:
- ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}-amd64
- ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}-arm64
- ghcr.io/charmbracelet/skate:v{{ .Major }}.{{ .Minor }}-armv7
- name_template: charmcli/skate:latest
image_templates:
- charmcli/skate:latest-amd64
- charmcli/skate:latest-arm64
- charmcli/skate:latest-armv7
- name_template: ghcr.io/charmbracelet/skate:latest
image_templates:
- ghcr.io/charmbracelet/skate:latest-amd64
- ghcr.io/charmbracelet/skate:latest-arm64
- ghcr.io/charmbracelet/skate:latest-armv7

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

nfpms:
- builds:
- skate

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

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

signs:
- artifacts: checksum

checksum:
name_template: "checksums.txt"
snapshot:
name_template: "{{ .Tag }}-next"
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-unrounded.jpg" width="400"></a>
includes:
- from_url:
url: charmbracelet/meta/main/goreleaser.yaml

variables:
main: "."
binary_name: skate
description: "A personal key value store 🛼"
github_url: "https://github.com/charmbracelet/skate"
maintainer: "Christian Rocha <christian@charm.sh>"
brew_commit_author_name: "Christian Rocha"
brew_commit_author_email: "christian@charm.sh"

0 comments on commit 300add5

Please sign in to comment.