.goreleaser.yml

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