posh/.goreleaser.yml
Kevin Franklin Kim 854e0c6d25
feat: add mise
2025-09-17 10:13:47 +02:00

117 lines
3.7 KiB
YAML

version: 2
before:
hooks:
- go mod download
builds:
- binary: posh
main: ./main.go
env:
- CGO_ENABLED=0
flags:
- -tags=safe
ldflags:
- -s -w
- -X github.com/foomo/posh/internal/version.Version={{.Version}}
- -X github.com/foomo/posh/internal/version.CommitHash={{.FullCommit}}
- -X github.com/foomo/posh/internal/version.BuildTimestamp={{.Timestamp}}
goos:
- windows
- darwin
- linux
goarch:
- amd64
- arm64
archives:
- formats: [ tar.gz ]
format_overrides:
- goos: windows
formats: [ zip ]
release:
prerelease: auto
changelog:
use: github-native
brews:
- repository:
owner: foomo
name: homebrew-tap
caveats: "posh help"
homepage: "https://github.com/foomo/posh"
description: "Project Oriented SHELL"
dockers:
- use: buildx
goos: linux
goarch: amd64
dockerfile: Dockerfile
image_templates:
- '{{ if eq .Prerelease "" }}foomo/posh:latest-amd64{{ end }}'
- 'foomo/posh:{{ .Version }}-amd64'
- '{{ if eq .Prerelease "" }}foomo/posh:{{ .Major }}-amd64{{ end }}'
- '{{ if eq .Prerelease "" }}foomo/posh:{{ .Major }}.{{ .Minor }}-amd64{{ end }}'
build_flag_templates:
- '--pull'
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
- '--label=org.opencontainers.image.title={{.ProjectName}}'
- '--label=org.opencontainers.image.description=CLI utility manage infrastructure as code with helm'
- '--label=org.opencontainers.image.source={{.GitURL}}'
- '--label=org.opencontainers.image.url={{.GitURL}}'
- '--label=org.opencontainers.image.documentation={{.GitURL}}'
- '--label=org.opencontainers.image.created={{.Date}}'
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
- '--label=org.opencontainers.image.version={{.Version}}'
- '--platform=linux/amd64'
- use: buildx
goos: linux
goarch: arm64
dockerfile: Dockerfile
image_templates:
- '{{ if eq .Prerelease "" }}foomo/posh:latest-arm64{{ end }}'
- 'foomo/posh:{{ .Version }}-arm64'
- '{{ if eq .Prerelease "" }}foomo/posh:{{ .Major }}-arm64{{ end }}'
- '{{ if eq .Prerelease "" }}foomo/posh:{{ .Major }}.{{ .Minor }}-arm64{{ end }}'
build_flag_templates:
- '--pull'
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
- '--label=org.opencontainers.image.title={{.ProjectName}}'
- '--label=org.opencontainers.image.description=Project Oriented SHELL'
- '--label=org.opencontainers.image.source={{.GitURL}}'
- '--label=org.opencontainers.image.url={{.GitURL}}'
- '--label=org.opencontainers.image.documentation={{.GitURL}}'
- '--label=org.opencontainers.image.created={{.Date}}'
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
- '--label=org.opencontainers.image.version={{.Version}}'
- '--platform=linux/arm64'
docker_manifests:
# basic
- name_template: 'foomo/posh:latest'
image_templates:
- 'foomo/posh:latest-amd64'
- 'foomo/posh:latest-arm64'
skip_push: auto
- name_template: 'foomo/posh:{{ .Version }}'
image_templates:
- 'foomo/posh:{{ .Version }}-amd64'
- 'foomo/posh:{{ .Version }}-arm64'
skip_push: auto
- name_template: 'foomo/posh:{{ .Major }}'
image_templates:
- 'foomo/posh:{{ .Major }}-amd64'
- 'foomo/posh:{{ .Major }}-arm64'
skip_push: auto
- name_template: 'foomo/posh:{{ .Major }}.{{ .Minor }}'
image_templates:
- 'foomo/posh:{{ .Major }}.{{ .Minor }}-amd64'
- 'foomo/posh:{{ .Major }}.{{ .Minor }}-arm64'
skip_push: auto