forked from charmbracelet/catwalk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.goreleaser.yaml
More file actions
121 lines (110 loc) · 3.96 KB
/
.goreleaser.yaml
File metadata and controls
121 lines (110 loc) · 3.96 KB
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
# This is an example .goreleaser.yml file with some sensible defaults.
# Make sure to check the documentation at https://goreleaser.com
# The lines below are called `modelines`. See `:help modeline`
# Feel free to remove those if you don't want/need to use them.
# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
version: 2
pro: true
before:
hooks:
- go mod tidy
builds:
- binary: catwalk
env:
- CGO_ENABLED=0
main: .
ldflags: -s -w -X main.Version=v{{ .Version }} -X main.CommitSHA={{ .Commit }} -X main.CommitDate={{ .CommitDate }}
targets:
- linux_amd64
- linux_arm64
checksum:
name_template: "checksums.txt"
snapshot:
version_template: "{{ incpatch .Version }}-snapshot"
nightly:
version_template: "{{ incpatch .Version }}-devel"
dockers:
- image_templates:
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-arm64"
goarch: arm64
build_flag_templates:
- --platform=linux/arm64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.source={{ .GitURL }}
- --label=org.opencontainers.image.version=v{{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: goreleaser.dockerfile
use: buildx
- image_templates:
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-amd64"
goarch: amd64
build_flag_templates:
- --platform=linux/amd64
- --label=org.opencontainers.image.title={{ .ProjectName }}
- --label=org.opencontainers.image.source={{ .GitURL }}
- --label=org.opencontainers.image.version=v{{ .Version }}
- --label=org.opencontainers.image.created={{ .Date }}
- --label=org.opencontainers.image.revision={{ .FullCommit }}
- --label=org.opencontainers.image.licenses=MIT
dockerfile: goreleaser.dockerfile
use: buildx
docker_manifests:
- name_template: "{{ if not .IsNightly }}ghcr.io/charmbracelet/{{ .ProjectName }}:latest{{ end }}"
image_templates:
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-amd64"
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-arm64"
- name_template: "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}"
image_templates:
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-amd64"
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-arm64"
- name_template: "ghcr.io/charmbracelet/{{ .ProjectName }}:{{ .Commit }}{{ if .IsNightly }}-devel{{ end }}"
image_templates:
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-amd64"
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-arm64"
- name_template: "{{ if .IsNightly }}ghcr.io/charmbracelet/{{ .ProjectName }}:nightly{{ end }}"
image_templates:
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-amd64"
- "ghcr.io/charmbracelet/{{ .ProjectName }}:v{{ .Version }}-arm64"
release:
prerelease: auto
footer:
from_url:
url: https://raw.githubusercontent.com/charmbracelet/meta/main/footer.md
changelog:
sort: asc
disable: "{{ .IsNightly }}"
use: github
filters:
exclude:
- "^(build|ci): "
- "^chore: auto-update generated files$"
- "^chore\\(legal\\): "
- "^chore\\(deps\\): "
- "^test:"
- "^test\\("
- "^v\\d.*"
- "merge conflict"
- Merge branch
- Merge pull request
- Merge remote-tracking branch
- go mod tidy
- "^wip "
- "^wip:"
groups:
- title: "Deps"
regexp: "^.*\\(deps\\)*:+.*$"
order: 300
- title: "New!"
regexp: "^.*feat[(\\w)]*:+.*$"
order: 100
- title: "Fixed"
regexp: "^.*fix[(\\w)]*:+.*$"
order: 200
- title: "Docs"
regexp: "^.*docs[(\\w)]*:+.*$"
order: 400
- title: "Other stuff"
order: 9999