1project_name: soft-serve
2
3env:
4 - GO111MODULE=on
5 - CGO_ENABLED=0
6
7before:
8 hooks:
9 - go mod download
10
11builds:
12 - id: "soft-serve"
13 binary: "soft"
14 ldflags: -s -w -X main.Version=v{{ .Version }} -X main.CommitSHA={{ .Commit }}
15 goos:
16 - linux
17 - darwin
18 - windows
19 goarch:
20 - amd64
21 - arm64
22 - "386"
23 - arm
24 goarm:
25 - "6"
26 - "7"
27 ignore:
28 - goos: windows
29 goarch: arm64
30
31archives:
32 - id: default
33 builds:
34 - soft-serve
35 format_overrides:
36 - goos: windows
37 format: zip
38 replacements:
39 windows: Windows
40 darwin: Darwin
41 386: i386
42 amd64: x86_64
43
44nfpms:
45 - builds:
46 - soft-serve
47
48 vendor: charmbracelet
49 homepage: "https://charm.sh/"
50 maintainer: "Christian Rocha <christian@charm.sh>"
51 description: "A personal key value store"
52 license: MIT
53 formats:
54 - apk
55 - deb
56 - rpm
57 bindir: /usr/bin
58
59brews:
60 - goarm: "6"
61 tap:
62 owner: charmbracelet
63 name: homebrew-tap
64 token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
65 commit_author:
66 name: "Christian Rocha"
67 email: "christian@charm.sh"
68 homepage: "https://charm.sh/"
69 description: "A personal key value store"
70
71signs:
72 - artifacts: checksum
73
74checksum:
75 name_template: "checksums.txt"
76snapshot:
77 name_template: "{{ .Tag }}-next"
78changelog:
79 sort: asc
80 filters:
81 exclude:
82 - "^docs:"
83 - "^test:"
84
85release:
86 footer: |
87 * * *
88 Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli) or [The Fediverse](https://mastodon.technology/@charm).
89 <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge-unrounded.jpg" width="400"></a>
90
91dockers:
92 - image_templates:
93 - "docker.io/charmcli/soft-serve:latest-amd64"
94 - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
95 - "docker.io/charmcli/soft-serve:v{{ .Version }}-amd64"
96 - "ghcr.io/charmbracelet/soft-serve:latest-amd64"
97 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
98 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64"
99 ids: [soft-serve]
100 goarch: amd64
101 build_flag_templates:
102 - --platform=linux/amd64
103 - --label=org.opencontainers.image.title={{ .ProjectName }}
104 - --label=org.opencontainers.image.description={{ .ProjectName }}
105 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
106 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
107 - --label=org.opencontainers.image.version=v{{ .Version }}
108 - --label=org.opencontainers.image.created={{ .Date }}
109 - --label=org.opencontainers.image.revision={{ .FullCommit }}
110 - --label=org.opencontainers.image.licenses=MIT
111 dockerfile: Dockerfile
112 use: buildx
113 - image_templates:
114 - "docker.io/charmcli/soft-serve:latest-i386"
115 - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
116 - "docker.io/charmcli/soft-serve:v{{ .Version }}-i386"
117 - "ghcr.io/charmbracelet/soft-serve:latest-i386"
118 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
119 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386"
120 ids: [soft-serve]
121 goarch: "386"
122 build_flag_templates:
123 - --platform=linux/i386
124 - --label=org.opencontainers.image.title={{ .ProjectName }}
125 - --label=org.opencontainers.image.description={{ .ProjectName }}
126 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
127 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
128 - --label=org.opencontainers.image.version=v{{ .Version }}
129 - --label=org.opencontainers.image.created={{ .Date }}
130 - --label=org.opencontainers.image.revision={{ .FullCommit }}
131 - --label=org.opencontainers.image.licenses=MIT
132 dockerfile: Dockerfile
133 use: buildx
134 - image_templates:
135 - "docker.io/charmcli/soft-serve:latest-arm64"
136 - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
137 - "docker.io/charmcli/soft-serve:v{{ .Version }}-arm64"
138 - "ghcr.io/charmbracelet/soft-serve:latest-arm64"
139 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
140 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64"
141 ids: [soft-serve]
142 goarch: arm64
143 build_flag_templates:
144 - --platform=linux/arm64
145 - --label=org.opencontainers.image.title={{ .ProjectName }}
146 - --label=org.opencontainers.image.description={{ .ProjectName }}
147 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
148 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
149 - --label=org.opencontainers.image.version=v{{ .Version }}
150 - --label=org.opencontainers.image.created={{ .Date }}
151 - --label=org.opencontainers.image.revision={{ .FullCommit }}
152 - --label=org.opencontainers.image.licenses=MIT
153 dockerfile: Dockerfile
154 use: buildx
155 - image_templates:
156 - "docker.io/charmcli/soft-serve:latest-armv6"
157 - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6"
158 - "docker.io/charmcli/soft-serve:v{{ .Version }}-armv6"
159 - "ghcr.io/charmbracelet/soft-serve:latest-armv6"
160 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6"
161 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv6"
162 ids: [soft-serve]
163 goarch: arm
164 goarm: "6"
165 build_flag_templates:
166 - --platform=linux/arm/v6
167 - --label=org.opencontainers.image.title={{ .ProjectName }}
168 - --label=org.opencontainers.image.description={{ .ProjectName }}
169 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
170 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
171 - --label=org.opencontainers.image.version=v{{ .Version }}
172 - --label=org.opencontainers.image.created={{ .Date }}
173 - --label=org.opencontainers.image.revision={{ .FullCommit }}
174 - --label=org.opencontainers.image.licenses=MIT
175 dockerfile: Dockerfile
176 use: buildx
177 - image_templates:
178 - "docker.io/charmcli/soft-serve:latest-armv7"
179 - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
180 - "docker.io/charmcli/soft-serve:v{{ .Version }}-armv7"
181 - "ghcr.io/charmbracelet/soft-serve:latest-armv7"
182 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
183 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7"
184 ids: [soft-serve]
185 goarch: arm
186 goarm: "7"
187 build_flag_templates:
188 - --platform=linux/arm/v7
189 - --label=org.opencontainers.image.title={{ .ProjectName }}
190 - --label=org.opencontainers.image.description={{ .ProjectName }}
191 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
192 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
193 - --label=org.opencontainers.image.version=v{{ .Version }}
194 - --label=org.opencontainers.image.created={{ .Date }}
195 - --label=org.opencontainers.image.revision={{ .FullCommit }}
196 - --label=org.opencontainers.image.licenses=MIT
197 dockerfile: Dockerfile
198 use: buildx
199
200docker_manifests:
201 - name_template: docker.io/charmcli/soft-serve:latest
202 image_templates:
203 - docker.io/charmcli/soft-serve:latest-amd64
204 - docker.io/charmcli/soft-serve:latest-arm64
205 - docker.io/charmcli/soft-serve:latest-armv6
206 - docker.io/charmcli/soft-serve:latest-armv7
207 - docker.io/charmcli/soft-serve:latest-i386
208 - name_template: ghcr.io/charmbracelet/soft-serve:latest
209 image_templates:
210 - ghcr.io/charmbracelet/soft-serve:latest-amd64
211 - ghcr.io/charmbracelet/soft-serve:latest-arm64
212 - ghcr.io/charmbracelet/soft-serve:latest-armv6
213 - ghcr.io/charmbracelet/soft-serve:latest-armv7
214 - ghcr.io/charmbracelet/soft-serve:latest-i386
215 - name_template: docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}
216 image_templates:
217 - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
218 - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
219 - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6
220 - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
221 - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
222 - name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}
223 image_templates:
224 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
225 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
226 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6
227 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
228 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
229 - name_template: docker.io/charmcli/soft-serve:v{{ .Version }}
230 image_templates:
231 - docker.io/charmcli/soft-serve:v{{ .Version }}-amd64
232 - docker.io/charmcli/soft-serve:v{{ .Version }}-arm64
233 - docker.io/charmcli/soft-serve:v{{ .Version }}-armv6
234 - docker.io/charmcli/soft-serve:v{{ .Version }}-armv7
235 - docker.io/charmcli/soft-serve:v{{ .Version }}-i386
236 - name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Version }}
237 image_templates:
238 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64
239 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64
240 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv6
241 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7
242 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386