From 300add5871342f391cad2d6b75e7ddc5e200e49b Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Mon, 24 Jan 2022 17:38:42 -0500 Subject: [PATCH] ci: use config from meta repository --- .github/workflows/build.yml | 11 +- .github/workflows/goreleaser.yml | 57 ++------- .goreleaser.yml | 208 ++----------------------------- 3 files changed, 30 insertions(+), 246 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a6b2adb..4f2e4c1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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: @@ -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 }} \ No newline at end of file diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml index 8e9babe..55b3662 100644 --- a/.github/workflows/goreleaser.yml +++ b/.github/workflows/goreleaser.yml @@ -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 }} diff --git a/.goreleaser.yml b/.goreleaser.yml index 2e11cc4..1d4238e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -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 " - 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). - - The Charm logo +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 " + brew_commit_author_name: "Christian Rocha" + brew_commit_author_email: "christian@charm.sh"