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