fleet/.goreleaser.yml
Victor Lyuboslavsky b8ccebcbca
Release fleetctl for macOS as a universal binary (native support for both amd64 and arm64 architectures). (#16346)
Release fleetctl for macOS as a universal binary (native support for
both amd64 and arm64 architectures).
#9047

Tested goreleaser locally.
2024-01-26 08:01:12 -06:00

147 lines
3.8 KiB
YAML

project_name: fleet
monorepo:
tag_prefix: fleet-
dir: .
before:
hooks:
- make deps
- make generate
# gomod:
# proxy: true
builds:
- id: fleet
dir: ./cmd/fleet/
binary: fleet
env:
- CGO_ENABLED=1
goos:
- linux
goarch:
- amd64
flags:
- -tags=full,fts5,netgo
- -trimpath
ldflags:
- -extldflags "-static"
- -X github.com/fleetdm/fleet/v4/server/version.appName={{ .ArtifactName }}
- -X github.com/fleetdm/fleet/v4/server/version.version={{ .Version }}
- -X github.com/fleetdm/fleet/v4/server/version.branch={{ .Branch }}
- -X github.com/fleetdm/fleet/v4/server/version.revision={{ .FullCommit }}
- -X github.com/fleetdm/fleet/v4/server/version.buildDate={{ time "2006-01-02" }}
- -X github.com/fleetdm/fleet/v4/server/version.buildUser={{ .Env.USER }}
- id: fleetctl
dir: ./cmd/fleetctl/
binary: fleetctl
env:
- CGO_ENABLED=0
goos:
- linux
- windows
goarch:
- amd64
flags:
- -trimpath
ldflags:
- -X github.com/fleetdm/fleet/v4/server/version.appName={{ .ArtifactName }}
- -X github.com/fleetdm/fleet/v4/server/version.version={{ .Version }}
- -X github.com/fleetdm/fleet/v4/server/version.branch={{ .Branch }}
- -X github.com/fleetdm/fleet/v4/server/version.revision={{ .FullCommit }}
- -X github.com/fleetdm/fleet/v4/server/version.buildDate={{ time "2006-01-02" }}
- -X github.com/fleetdm/fleet/v4/server/version.buildUser={{ .Env.USER }}
- id: fleetctl-macos
dir: ./cmd/fleetctl/
binary: fleetctl
env:
- CGO_ENABLED=0
goos:
- darwin
goarch:
- amd64
- arm64
flags:
- -trimpath
ldflags:
- -X github.com/fleetdm/fleet/v4/server/version.appName={{ .ArtifactName }}
- -X github.com/fleetdm/fleet/v4/server/version.version={{ .Version }}
- -X github.com/fleetdm/fleet/v4/server/version.branch={{ .Branch }}
- -X github.com/fleetdm/fleet/v4/server/version.revision={{ .FullCommit }}
- -X github.com/fleetdm/fleet/v4/server/version.buildDate={{ time "2006-01-02" }}
- -X github.com/fleetdm/fleet/v4/server/version.buildUser={{ .Env.USER }}
universal_binaries:
- id: fleetctl # resulting binary id
ids: [fleetctl-macos] # source binaries
replace: true
name_template: fleetctl # resulting binary name
archives:
- id: fleet
builds:
- fleet
name_template: fleet_v{{.Version}}_{{- if eq .Os "darwin" }}macos{{- else }}{{ .Os }}{{ end }}
format_overrides:
- goos: windows
format: zip
wrap_in_directory: true
- id: fleetctl
builds:
- fleetctl
name_template: fleetctl_v{{.Version}}_{{- if eq .Os "darwin" }}macos{{- else }}{{ .Os }}{{ end }}
wrap_in_directory: true
- id: fleetctl-zip
builds:
- fleetctl
name_template: fleetctl_v{{.Version}}_{{- if eq .Os "darwin" }}macos{{- else }}{{ .Os }}{{ end }}
format: zip
wrap_in_directory: true
dockers:
- goos: linux
goarch: amd64
ids:
- fleet
- fleetctl
dockerfile: tools/fleet-docker/Dockerfile
image_templates:
- 'fleetdm/fleet:latest'
- 'fleetdm/fleet:{{ .Tag }}'
- 'fleetdm/fleet:{{ .Tag }}'
- 'fleetdm/fleet:v{{ .Major }}'
- goos: linux
goarch: amd64
ids:
- fleetctl
dockerfile: tools/fleetctl-docker/Dockerfile
build_flag_templates:
- "--build-arg=binpath=fleetctl"
image_templates:
- 'fleetdm/fleetctl:latest'
- 'fleetdm/fleetctl:{{ .Tag }}'
- 'fleetdm/fleetctl:{{ .Tag }}'
- 'fleetdm/fleetctl:v{{ .Major }}'
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-untagged"
changelog:
skip: true
release:
github:
owner: fleetdm
name: fleet
draft: true
prerelease: auto