-
Notifications
You must be signed in to change notification settings - Fork 88
Expand file tree
/
Copy path.goreleaser.yaml
More file actions
65 lines (58 loc) · 2.1 KB
/
Copy path.goreleaser.yaml
File metadata and controls
65 lines (58 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
version: 2
project_name: casos
builds:
- env:
- CGO_ENABLED=0
flags:
- -tags=embed
- -trimpath
ldflags:
- -s -w
- -X main.version={{ .Tag }}
- -X main.commit={{ .FullCommit }}
- -X main.date={{ .Date }}
goos:
- linux
- darwin
- windows
# x86_64 only: nobody runs the arm64 downloads, and dropping them cuts the
# release to three archives. Worker nodes are unaffected — they install
# upstream Kubernetes binaries for their own architecture.
goarch:
- amd64
# An in-process Kubernetes control plane links to roughly 150 MB of machine
# code, and the embed build tag adds the frontend on top of that. Gzip and
# deflate take that to about a third, so the release ships archives rather than
# bare executables: the download shrinks by two thirds while what lands on disk
# is still an ordinary, unpacked binary that antivirus and Gatekeeper accept.
archives:
- formats: [ tar.gz ]
format_overrides:
- goos: windows
formats: [ zip ]
# Each archive holds the executable and nothing else, so the installers can
# unpack and move a single known file.
files:
- none*
# GOARCH spells the 64-bit Intel target "amd64", which reads like an
# AMD-only build to anyone who does not package software for a living.
# Publish it under the vendor-neutral "x86_64"; the installers in scripts/
# ask for the same name.
name_template: >-
{{ .ProjectName }}_{{ .Os }}_
{{- if eq .Arch "amd64" }}x86_64{{ else }}{{ .Arch }}{{ end }}
# The installers download over HTTPS from GitHub and no longer verify a
# published digest, so the release ships the archives alone.
checksum:
disable: true
release:
# semantic-release owns the draft, tag, and notes. GoReleaser reuses that
# draft and leaves publication to the final workflow step after all uploads.
use_existing_draft: true
replace_existing_artifacts: true
draft: true
mode: keep-existing
changelog:
# Release notes come from semantic-release.
disable: true