forked from nukleros/operator-builder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.goreleaser.yml
153 lines (142 loc) · 5.07 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
---
before:
hooks:
- go mod tidy
- ./build/completions.sh
builds:
- id: operator-builder
env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
main: ./cmd/operator-builder
binary: operator-builder
ldflags:
- -s -w -X github.com/nukleros/operator-builder/pkg/cli.version={{ .Version }} -extldflags '-static'
archives:
- replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
name_template: "operator-builder_v{{ .Version }}_{{ .Os }}_{{ .Arch }}"
format_overrides:
- goos: windows
format: zip
files:
- README.md
- LICENSE
- completions/*
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Version }}-snapshot-{{ .ShortCommit }}"
changelog:
sort: asc
use: github
filters:
exclude:
- '^docs(\(.*\))?:'
- '^test(\(.*\))?:'
- '^ci(\(.*\))?:'
- '^chore(\(.*\))?:'
- '^build(\(.*\))?:'
dockers:
- image_templates:
- 'ghcr.io/nukleros/operator-builder:v{{ .Version }}'
- 'ghcr.io/nukleros/operator-builder:latest'
dockerfile: Dockerfile
build_flag_templates:
- "--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 }}"
- "--label=org.opencontainers.image.licenses=MIT"
- "--label=VERSION={{ .Version }}"
- "--platform=linux/amd64"
brews:
- name: operator-builder
tap:
owner: nukleros
name: homebrew-tap
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
# Git author used to commit to the repository.
# Defaults are shown.
commit_author:
name: goreleaserbot
email: [email protected]
# Folder inside the repository to put the formula.
# Default is the root folder.
folder: Formula
# Your app's homepage.
# Default is empty.
homepage: "https://github.com/nukleros/operator-builder"
# Template of your app's description.
# Default is empty.
description: "A Kubebuilder plugin to accelerate the development of Kubernetes operators."
# SPDX identifier of your app's license.
# Default is empty.
license: "MIT"
# 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
# Default is false.
skip_upload: auto
# Packages your package depends on.
dependencies:
- name: kubectl
- name: golang
- name: make
type: optional
install: |-
bin.install "operator-builder"
bash_completion.install "completions/operator-builder.bash" => "operator-builder"
zsh_completion.install "completions/operator-builder.zsh" => "_operator-builder"
fish_completion.install "completions/operator-builder.fish"
# So you can `brew test` your formula.
# Default is empty.
test: |
system "#{bin}/operator-builder version"
nfpms:
- file_name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
homepage: https://github.com/nukleros/operator-builder
description: "A Kubebuilder plugin to accelerate the development of Kubernetes operators."
maintainer: Jeff Davis <[email protected]>, Dustin Scott <[email protected]>, Rich Lander <[email protected]>
license: MIT
vendor: Nukleros
contents:
- src: ./completions/operator-builder.bash
dst: /etc/bash_completion.d/operator-builder
- src: ./completions/operator-builder.fish
dst: /usr/share/fish/completions/operator-builder.fish
- src: ./completions/operator-builder.zsh
dst: /usr/local/share/zsh/site-functions/_operator-builder
formats:
- apk
- deb
- rpm
recommends:
- kubectl
- golang
- make
# NOTE: removing support for snapcraft as their CLI has become increasingly unstable and errors have become
# common place. See https://github.com/snapcore/action-publish/issues/28 for an example of some of the issues
# that the community has run into.
#
# snapcrafts:
# - name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
# name: operator-builder
# summary: "A Kubebuilder plugin to accelerate the development of Kubernetes operators."
# description: |
# Operator Builder extends Kubebuilder to facilitate development and maintenance of Kubernetes operators.
# It is especially helpful if you need to take large numbers of resources defined with static or templated
# yaml and migrate to managing those resources with a custom Kubernetes operator.
# grade: stable
# confinement: strict
# publish: true