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