mirror of
https://github.com/foomo/posh.git
synced 2025-10-16 12:45:38 +00:00
120 lines
3.7 KiB
YAML
120 lines
3.7 KiB
YAML
version: 2
|
|
|
|
project_name: posh
|
|
|
|
before:
|
|
hooks:
|
|
- go mod download
|
|
|
|
builds:
|
|
- binary: posh
|
|
main: ./main.go
|
|
env:
|
|
- CGO_ENABLED=0
|
|
flags:
|
|
- -trimpath
|
|
- -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=Project Oriented SHELL (posh)'
|
|
- '--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
|