Skip to content

Commit

Permalink
use goreleaser
Browse files Browse the repository at this point in the history
  • Loading branch information
BeryJu committed Aug 8, 2021
1 parent cf2ce5f commit 016224d
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 40 deletions.
36 changes: 0 additions & 36 deletions .github/workflows/ci-build.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: release
on:
push:
tags:
- 'v*'
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.4
-
name: Unshallow
run: git fetch --prune --unshallow
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2.7.0
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
76 changes: 76 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Visit https://goreleaser.com for documentation on how to customize this
# behavior.
before:
hooks:
# this is just an example and not a requirement for provider building/publishing
- go mod tidy
builds:
- env:
# goreleaser does not work with CGO, it could also complicate
# usage by users in CI/CD systems like Terraform Cloud where
# they are unable to install libraries.
- CGO_ENABLED=0
mod_timestamp: '{{ .CommitTimestamp }}'
flags:
- -trimpath
ldflags:
- '-s -w -X github.com/BeryJu/acme-for-appliances/cmd.Version={{.Version}}'
goos:
- freebsd
- windows
- linux
- darwin
goarch:
- amd64
- arm
- arm64
ignore:
- goos: darwin
goarch: '386'
binary: '{{ .ProjectName }}'
archives:
- id: raw
format: binary
name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}'
- id: tar
format: tar.gz
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
checksum:
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
algorithm: sha256
release:
# If you want to manually examine the release before its live, uncomment this line:
# draft: true
changelog:
skip: true
dockers:
- image_templates: ["ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}-amd64"]
dockerfile: Dockerfile
use: buildx
build_flag_templates:
- --platform=linux/amd64
- image_templates: ["ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}-arm64v8"]
goarch: arm64
dockerfile: Dockerfile
use: buildx
build_flag_templates:
- --platform=linux/arm64/v8
docker_manifests:
- name_template: ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}
image_templates:
- ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}-arm64v8
- name_template: ghcr.io/beryju/{{ .ProjectName }}:latest
image_templates:
- ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/beryju/{{ .ProjectName }}:{{ .Version }}-arm64v8
brews:
- tap:
owner: beryju
name: homebrew-tap
commit_author:
name: goreleaserbot
email: goreleaser@beryju.org
homepage: 'https://github.com/beryju/acme-for-appliances'
description: ACME Support for appliances that don't natively support it, like vCenter and Netscaler.
folder: Formula
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ RUN cd /go/src/github.com/BeryJu/acme-for-appliances && \
# Final container
FROM debian

COPY --from=builder /go/bin/acme-for-appliances /acme-for-appliances
COPY acme-for-appliances /

RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
Expand Down
8 changes: 5 additions & 3 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,14 @@ var cfgFile string
var force bool
var infinite bool
var checkInterval int
var Version string

// rootCmd represents the base command when called without any subcommands
var rootCmd = &cobra.Command{
Use: "acme-for-appliances",
Short: "ACME Certificates for appliances",
Long: `Use ACME Certificates for appliances which don't natively support them.`,
Use: "acme-for-appliances",
Version: Version,
Short: "ACME Certificates for appliances",
Long: `Use ACME Certificates for appliances which don't natively support them.`,
Run: func(cmd *cobra.Command, args []string) {
if !infinite {
internal.Main(force)
Expand Down

0 comments on commit 016224d

Please sign in to comment.