-
Notifications
You must be signed in to change notification settings - Fork 4
/
.goreleaser.yml
105 lines (92 loc) · 3.59 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Because the upstream goreleaser config expects there to be a schema.graphql file present, we need to manually maintain this config for now.
# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json
before:
hooks:
- go mod download
builds:
- id: go
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
ldflags:
- -s -w
- -X go.infratographer.com/x/versionx.appName={{.ProjectName}}
- -X go.infratographer.com/x/versionx.version={{.Version}}
- -X go.infratographer.com/x/versionx.commit={{.Commit}}
- -X go.infratographer.com/x/versionx.date={{.Date}}
- -X go.infratographer.com/x/versionx.builtBy=infratographer-release-bot
archives:
- format: binary
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-next"
changelog:
skip: false
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
groups:
- title: "🎄 Features"
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
order: 0
- title: '🐞 Bug fixes'
regexp: '^.*?bug(\([[:word:]]+\))??!?:.+$'
order: 1
- title: "🚀 Others"
order: 999
dockers:
-
image_templates:
- ghcr.io/infratographer/{{.ProjectName}}:{{ or (and (or .IsNightly .IsSnapshot) .Version) (printf "v%s" .Version) }}-amd64
dockerfile: Dockerfile.goreleaser
use: buildx
build_flag_templates:
- --pull
- --platform=linux/amd64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://infratographer.com
- --label=org.opencontainers.image.source=https://github.com/infratographer/{{.ProjectName}}
- --label=org.opencontainers.image.version={{ .Version }}
- --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=Apache-2.0
-
image_templates:
- ghcr.io/infratographer/{{.ProjectName}}:{{ or (and (or .IsNightly .IsSnapshot) .Version) (printf "v%s" .Version) }}-arm64
dockerfile: Dockerfile.goreleaser
use: buildx
goarch: arm64
build_flag_templates:
- --pull
- --platform=linux/arm64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.description={{ .ProjectName }}
- --label=org.opencontainers.image.url=https://infratographer.com
- --label=org.opencontainers.image.source=https://github.com/infratographer/{{.ProjectName}}
- --label=org.opencontainers.image.version={{ .Version }}
- --label=org.opencontainers.image.created={{ time "2006-01-02T15:04:05Z07:00" }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=Apache-2.0
docker_manifests:
- name_template: ghcr.io/infratographer/{{.ProjectName}}:{{ or (and (or .IsNightly .IsSnapshot) .Version) (printf "v%s" .Version) }}
image_templates:
- ghcr.io/infratographer/{{.ProjectName}}:{{ or (and (or .IsNightly .IsSnapshot) .Version) (printf "v%s" .Version) }}-amd64
- ghcr.io/infratographer/{{.ProjectName}}:{{ or (and (or .IsNightly .IsSnapshot) .Version) (printf "v%s" .Version) }}-arm64
release:
mode: prepend
prerelease: auto
draft: false
name_template: 'Release {{ or (and (or .IsNightly .IsSnapshot) .Version) (printf "v%s" .Version) }}'
header: |
# What's Changed
nightly:
name_template: main-latest
tag_name: main-latest
publish_release: false
keep_single_release: true