-
Notifications
You must be signed in to change notification settings - Fork 8
/
.goreleaser.yml
77 lines (77 loc) · 1.93 KB
/
.goreleaser.yml
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
66
67
68
69
70
71
72
73
74
75
76
77
# This is an example .goreleaser.yml file with some sane defaults.
# Make sure to check the documentation at http://goreleaser.com
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
builds:
- id: default
env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
# 使用 ldflags="-s -w" 去掉符号表和调试信息,以减少发布包的大小
ldflags:
- -s
- -w
ignore:
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
main: .
archives:
- id: default
builds:
- default
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
format_overrides:
- goos: windows
format: zip
checksum:
name_template: 'checksums.txt'
changelog:
use: github
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
release:
github:
owner: kcl-lang
name: kcl-openapi
draft: false
footer: |
## Docker Images
* `kcllang/kcl-openapi:{{ .Tag }}`
dockers:
- use: buildx
goos: linux
goarch: amd64
dockerfile: Dockerfile
image_templates:
- kcllang/{{ .ProjectName }}:{{ .Tag }}-amd64
build_flag_templates:
- "--target=goreleaser"
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.name={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.source={{.GitURL}}"
- "--platform=linux/amd64"
docker_manifests:
- use: docker
name_template: kcllang/{{ .ProjectName }}:{{ .Tag }}
image_templates:
- kcllang/{{ .ProjectName }}:{{ .Tag }}-amd64
- use: docker
name_template: kcllang/{{ .ProjectName }}:latest
image_templates:
- kcllang/{{ .ProjectName }}:{{ .Tag }}-amd64