From 41038a8cd82866d9bcc0d2254b482fa9e5299a64 Mon Sep 17 00:00:00 2001 From: Carlos A Becker Date: Fri, 14 Jan 2022 11:41:28 -0300 Subject: [PATCH] ci: use config files from meta repository Signed-off-by: Carlos A Becker --- .github/workflows/goreleaser.yml | 54 +------- .goreleaser.yml | 225 ++----------------------------- 2 files changed, 19 insertions(+), 260 deletions(-) diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml index 6d1008d94814e63417db09357bc283b726f0e2ec..76155d5842cfdccda3e38903edd5cae101718bcf 100644 --- a/.github/workflows/goreleaser.yml +++ b/.github/workflows/goreleaser.yml @@ -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 }} diff --git a/.goreleaser.yml b/.goreleaser.yml index 40fab7e760f23b6543931cf2c5276a0b22a72d03..3049eb5ac56f29b63409ea5b977aa70262219776 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -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 " - 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: "christian@charm.sh" - 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). - - The Charm logo - -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 " + brew_commit_author_name: "Christian Rocha" + brew_commit_author_email: "christian@charm.sh"