-
Notifications
You must be signed in to change notification settings - Fork 7
/
.goreleaser.yml
143 lines (137 loc) · 4.86 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
# Build customization
builds:
- env:
- CGO_ENABLED=0
binary: sopstool
goos:
- darwin
- linux
goarch:
- amd64
- arm64
archives:
- id: newzips
name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}"
checksum:
# You can change the name of the checksums file.
# This is parsed with the Go template engine and the following variables
# are available:
# - ProjectName
# - Tag
# - Version (Git tag without `v` prefix)
# - Env (environment variables)
# Default is `{{ .ProjectName }}_{{ .Version }}_checksums.txt`.
name_template: "{{ .ProjectName }}_checksums.txt"
nfpms:
- id: default
# You can change the file name of the package.
#
# Default: `{{ .PackageName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}`
file_name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}"
# file_name_template: "{{ .ProjectName }}_{{ .Os }}"
vendor: Ibotta
homepage: https://github.com/Ibotta/sopstool
maintainer: Ibotta <oss@ibotta.com>
description: "A multi-file wrapper for Mozilla sops"
license: Apache 2.0
# Formats to be generated.
formats:
- deb
- rpm
# Packages your package depends on.
dependencies:
- sops
brews:
- ids:
- newzips
tap:
# Repo to push the tap
owner: Ibotta
name: homebrew-public
# Git author used to commit to the repository.
commit_author:
name: sopstoolGoreleaser
email: oss@ibotta.com
# Folder inside the repository to put the formula.
folder: Formula
# caveats: "How to use this binary"
homepage: "https://github.com/Ibotta/sopstool"
description: "A multi-file wrapper for Mozilla sops"
# 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.
# Default is false.
skip_upload: false
# Packages your package depends on.
dependencies:
- sops
# So you can `brew test` your formula.
test: |
system "#{bin}/sopstool version"
install: |
bin.install "sopstool"
blobs:
- provider: s3
# Bucket name (without the s3:// prefix)
bucket: oss-pkg.ibotta.com
# AWS Region to use.
region: us-east-1
# path inside the bucket.
# This is parsed with the Go template engine and the following variables
# are available:
# - ProjectName
# - Tag
# - Version (Git tag without `v` prefix)
# There is also a template function "time" that takes a Go time format
# string to insert a formated timestamp into the release name.
# Default is `{{ .ProjectName }}/{{ .Tag }}`
# folder:
- provider: s3
bucket: oss-pkg.ibotta.com
region: us-east-1
folder: "{{ .ProjectName }}"
dockers:
- id: amd64image
goos: linux
# GOARCH of the built binary that should be used.
goarch: amd64
# GOARM of the built binary that should be used.
goarm: ""
# Name templates of the built binaries that should be used.
ids:
- sopstool
# Templates of the Docker image names.
image_templates:
- "ibotta/{{ .ProjectName }}:latest"
- "ibotta/{{ .ProjectName }}:{{ .Version }}"
- "ibotta/{{ .ProjectName }}:{{ .Tag }}"
- "ibotta/{{ .ProjectName }}:v{{ .Major }}"
- "ibotta/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}"
- "ibotta/{{ .ProjectName }}:latest-amd64"
- "ibotta/{{ .ProjectName }}:{{ .Version }}-amd64"
- "ibotta/{{ .ProjectName }}:{{ .Tag }}-amd64"
- "ibotta/{{ .ProjectName }}:v{{ .Major }}-amd64"
- "ibotta/{{ .ProjectName }}:v{{ .Major }}.{{ .Minor }}-amd64"
# Skips the docker push. Could be useful if you also do draft releases.
# If set to auto, the release will not be pushed to the docker repository
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1
# Defaults to false.
skip_push: false
# Path to the Dockerfile (from the project root).
dockerfile: Dockerfile
# Template of the docker build flags.
build_flag_templates:
- "--label=org.label-schema.schema-version=1.0"
- "--label=org.label-schema.version={{.Version}}"
- "--label=org.label-schema.name={{.ProjectName}}"
# If your Dockerfile copies files other than the binary itself,
# you should list them here as well.
# Note that goreleaser will create the same structure inside the temporary
# folder, so if you add `foo/bar.json` here, on your Dockerfile you can
# `COPY foo/bar.json /whatever.json`.
# Also note that the paths here are relative to the folder in which
# goreleaser is being run.
# This field does not support wildcards, you can add an entire folder here
# and use wildcards when you `COPY`/`ADD` in your Dockerfile.
extra_files:
- sopsinstall.sh