-
Notifications
You must be signed in to change notification settings - Fork 20
/
.goreleaser.yml
352 lines (300 loc) · 10.3 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
project_name: glide
before:
hooks:
- go generate
builds:
- binary: glide
env:
- CGO_ENABLED=0
ldflags:
- -s -w -X glide/pkg.version={{.Tag}} -X glide/pkg.commitSha={{.ShortCommit}} -X glide/pkg.buildDate={{.Date}}
goos:
- linux
- darwin
- freebsd
- openbsd
- windows
goarch:
- amd64
- arm
- arm64
- ppc64le
- s390x
- riscv64
goarm:
- '7'
- '6'
ignore:
- goos: darwin
goarch: '386'
- goos: openbsd
goarch: arm
- goos: openbsd
goarch: arm64
- goos: freebsd
goarch: arm
- goos: freebsd
goarch: arm64
- goos: windows
goarch: arm
changelog:
skip: true
archives:
- id: glide
name_template: '{{ .ProjectName }}_v{{ .Tag }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
format: tar.gz
format_overrides:
- goos: windows
format: zip
files:
- LICENSE
- CHANGELOG.md
- ROADMAP.md
checksum:
name_template: "{{ .ProjectName }}_v{{ .Version }}_checksums.txt"
release:
# If set to true, will not auto-publish the release.
# Available only for GitHub and Gitea.
draft: true
# Whether to remove existing draft releases with the same name before creating
# a new one.
# Only effective if `draft` is set to true.
# Available only for GitHub.
#
# Since: v1.11
replace_existing_draft: true
# Useful if you want to delay the creation of the tag in the remote.
# You can create the tag locally, but not push it, and run GoReleaser.
# It'll then set the `target_commitish` portion of the GitHub release to the
# value of this field.
# Only works on GitHub.
#
# Default: ''
# Since: v1.11
# Templates: allowed
target_commitish: "{{ .Commit }}"
# If set, will create a release discussion in the category specified.
#
# Warning: do not use categories in the 'Announcement' format.
# Check https://github.com/goreleaser/goreleaser/issues/2304 for more info.
#
# Default is empty.
discussion_category_name: Releases
# If set to auto, will mark the release as not ready for production
# in case there is an indicator for this in the tag e.g. v1.0.0-rc1
# If set to true, will mark the release as not ready for production.
# Default is false.
prerelease: auto
# If set to false, will NOT mark the release as "latest".
# This prevents it from being shown at the top of the release list,
# and from being returned when calling https://api.github.com/repos/OWNER/REPO/releases/latest.
#
# Available only for GitHub.
#
# Default is true.
# Since: v1.20
make_latest: true
# What to do with the release notes in case there the release already exists.
#
# Valid options are:
# - `keep-existing`: keep the existing notes
# - `append`: append the current release notes to the existing notes
# - `prepend`: prepend the current release notes to the existing notes
# - `replace`: replace existing notes
#
# Default is `keep-existing`.
mode: append
# You can change the name of the release.
#
# Default: '{{.Tag}}' ('{{.PrefixedTag}}' on Pro)
# Templates: allowed
name_template: "v{{.Version}}"
brews:
-
# Name of the recipe
#
# Default: ProjectName
# Templates: allowed
name: glide
# GOARM to specify which 32-bit arm version to use if there are multiple
# versions from the build section. Brew formulas support only one 32-bit
# version.
#
# Default: 6
goarm: 6
# GOAMD64 to specify which amd64 version to use if there are multiple
# versions from the build section.
#
# Default: v1
goamd64: v1
# NOTE: make sure the url_template, the token and given repo (github or
# gitlab) owner and name are from the same kind.
# We will probably unify this in the next major version like it is
# done with scoop.
# URL which is determined by the given Token (github, gitlab or gitea).
#
# Default depends on the client.
# Templates: allowed
url_template: "https://github.com/einstack/glide/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
# Allows you to set a custom download strategy. Note that you'll need
# to implement the strategy and add it to your tap repository.
# Example: https://docs.brew.sh/Formula-Cookbook#specifying-the-download-strategy-explicitly
download_strategy: CurlDownloadStrategy
# Git author used to commit to the repository.
commit_author:
name: Release Bot
email: [email protected]
# The project name and current git tag are used in the format string.
#
# Templates: allowed
commit_msg_template: "Brew formula update for {{ .ProjectName }} version {{ .Tag }}"
# Folder inside the repository to put the formula.
folder: Formula
# Caveats for the user of your binary.
caveats: ""
# Your app's homepage.
homepage: "https://github.com/EinStack/glide"
# Your app's description.
#
# Templates: allowed
description: "A Lightweight, Cloud-Native LLM Gateway"
# SPDX identifier of your app's license.
license: "Apache-2.0"
# Setting this will prevent goreleaser to actually try to commit the updated
# formula - instead, the formula file will be stored on the dist folder only,
# leaving the responsibility of publishing it to the user.
# If set to auto, the release will not be uploaded to the homebrew tap
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1
#
# Templates: allowed
skip_upload: false # auto
# Packages your package depends on.
dependencies: []
# Repository to push the generated files to.
repository:
# Repository owner.
#
# Templates: allowed
owner: EinStack
# Repository name.
#
# Templates: allowed
name: homebrew-tap
# Optionally a branch can be provided.
#
# Default: default repository branch
# Templates: allowed
branch: main
# Clone, create the file, commit and push, to a regular Git repository.
#
# Notice that this will only have any effect if the given URL is not
# empty.
#
# Since: v1.18
git:
# The Git URL to push.
#
# Templates: allowed
url: '[email protected]:EinStack/homebrew-tap.git'
private_key: '{{ .Env.BREW_TAP_PRIVATE_KEY }}'
snapcrafts:
- #
# ID of the snapcraft config, must be unique.
#
# Default: 'default'
id: glide
# Build IDs for the builds you want to create snapcraft packages for.
builds:
- glide
# You can change the name of the package.
#
# Default: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
# Templates: allowed
name_template: '{{ .ProjectName }}_v{{ .Tag }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
# The name of the snap. This is optional.
#
# Default: ProjectName
name: glide
# The canonical title of the application, displayed in the software
# centre graphical frontends.
#
# Since: v1.19
title: Glide
# Whether to publish the snap to the snapcraft store.
# Remember you need to `snapcraft login` first.
publish: true
# Single-line elevator pitch for your amazing snap.
# 79 char long at most.
summary: A open simple blazing-fast model gateway
# This the description of your snap. You have a paragraph or two to tell the
# most important story about your snap. Keep it under 100 words though,
# we live in tweetspace and your description wants to look good in the snap
# store.
description: A open simple blazing-fast model gateway for rapid development of production GenAI apps
# Channels in store where snap will be pushed.
#
# More info about channels here:
# https://snapcraft.io/docs/reference/channels
#
# Default:
# grade is 'stable': ["edge", "beta", "candidate", "stable"]
# grade is 'devel': ["edge", "beta"]
# Templates: allowed (since v1.15)
channel_templates:
- edge
- beta
- candidate
- stable
# A guardrail to prevent you from releasing a snap to all your users before
# it is ready.
# `devel` will let you release only to the `edge` and `beta` channels in the
# store. `stable` will let you release also to the `candidate` and `stable`
# channels.
grade: stable
# Snaps can be setup to follow three different confinement policies:
# `strict`, `devmode` and `classic`. A strict confinement where the snap
# can only read and write in its own namespace is recommended. Extra
# permissions for strict snaps can be declared as `plugs` for the app, which
# are explained later. More info about confinement here:
# https://snapcraft.io/docs/reference/confinement
confinement: strict
# Your app's license, based on SPDX license expressions:
# https://spdx.org/licenses
license: Apache-2.0
# A snap of type base to be used as the execution environment for this snap.
# Valid values are:
# * bare - Empty base snap;
# * core - Ubuntu Core 16;
# * core18 - Ubuntu Core 18.
base: core20
# A list of features that must be supported by the core in order for
# this snap to install.
#
# Since: v1.19
assumes:
- snapd2.38
# Each binary built by GoReleaser is an app inside the snap. In this section
# you can declare extra details for those binaries. It is optional.
# See: https://snapcraft.io/docs/snapcraft-app-and-service-metadata
apps:
# The name of the app must be the same name as the binary built or the snapcraft name.
glide:
# You can override the command name.
#
# Default: AppName
command: glide
announce:
discord:
# Whether its enabled or not.
enabled: true
# Message template to use while publishing.
#
# Templates: allowed
message_template: '📦 Glide {{.Tag}} is out! Check it out at {{ .ReleaseURL }}'
# Set author of the embed.
author: 'EinStack'
# Color code of the embed. You have to use decimal numeral system, not hexadecimal.
# Default: '3888754' (the grey-ish from GoReleaser)
color: ''
# URL to an image to use as the icon for the embed.
icon_url: ''