.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    <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge-unrounded.jpg" width="400"></a>
 83
 84dockers:
 85  - image_templates:
 86      - "docker.io/charmcli/soft-serve:latest-amd64"
 87      - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
 88      - "docker.io/charmcli/soft-serve:v{{ .Version }}-amd64"
 89      - "ghcr.io/charmbracelet/soft-serve:latest-amd64"
 90      - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
 91      - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64"
 92    goarch: amd64
 93    build_flag_templates:
 94      - --platform=linux/amd64
 95      - --label=org.opencontainers.image.title={{ .ProjectName }}
 96      - --label=org.opencontainers.image.description={{ .ProjectName }}
 97      - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
 98      - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
 99      - --label=org.opencontainers.image.version=v{{ .Version }}
100      - --label=org.opencontainers.image.created={{ .Date }}
101      - --label=org.opencontainers.image.revision={{ .FullCommit }}
102      - --label=org.opencontainers.image.licenses=MIT
103    dockerfile: Dockerfile
104    use: buildx
105  - image_templates:
106      - "docker.io/charmcli/soft-serve:latest-i386"
107      - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
108      - "docker.io/charmcli/soft-serve:v{{ .Version }}-i386"
109      - "ghcr.io/charmbracelet/soft-serve:latest-i386"
110      - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
111      - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386"
112    goarch: "386"
113    build_flag_templates:
114      - --platform=linux/i386
115      - --label=org.opencontainers.image.title={{ .ProjectName }}
116      - --label=org.opencontainers.image.description={{ .ProjectName }}
117      - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
118      - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
119      - --label=org.opencontainers.image.version=v{{ .Version }}
120      - --label=org.opencontainers.image.created={{ .Date }}
121      - --label=org.opencontainers.image.revision={{ .FullCommit }}
122      - --label=org.opencontainers.image.licenses=MIT
123    dockerfile: Dockerfile
124    use: buildx
125  - image_templates:
126      - "docker.io/charmcli/soft-serve:latest-arm64"
127      - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
128      - "docker.io/charmcli/soft-serve:v{{ .Version }}-arm64"
129      - "ghcr.io/charmbracelet/soft-serve:latest-arm64"
130      - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
131      - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64"
132    goarch: arm64
133    build_flag_templates:
134      - --platform=linux/arm64
135      - --label=org.opencontainers.image.title={{ .ProjectName }}
136      - --label=org.opencontainers.image.description={{ .ProjectName }}
137      - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
138      - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
139      - --label=org.opencontainers.image.version=v{{ .Version }}
140      - --label=org.opencontainers.image.created={{ .Date }}
141      - --label=org.opencontainers.image.revision={{ .FullCommit }}
142      - --label=org.opencontainers.image.licenses=MIT
143    dockerfile: Dockerfile
144    use: buildx
145  - image_templates:
146      - "docker.io/charmcli/soft-serve:latest-armv7"
147      - "docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
148      - "docker.io/charmcli/soft-serve:v{{ .Version }}-armv7"
149      - "ghcr.io/charmbracelet/soft-serve:latest-armv7"
150      - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
151      - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7"
152    goarch: arm
153    goarm: "7"
154    build_flag_templates:
155      - --platform=linux/arm/v7
156      - --label=org.opencontainers.image.title={{ .ProjectName }}
157      - --label=org.opencontainers.image.description={{ .ProjectName }}
158      - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
159      - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
160      - --label=org.opencontainers.image.version=v{{ .Version }}
161      - --label=org.opencontainers.image.created={{ .Date }}
162      - --label=org.opencontainers.image.revision={{ .FullCommit }}
163      - --label=org.opencontainers.image.licenses=MIT
164    dockerfile: Dockerfile
165    use: buildx
166
167docker_manifests:
168  - name_template: docker.io/charmcli/soft-serve:latest
169    image_templates:
170      - docker.io/charmcli/soft-serve:latest-amd64
171      - docker.io/charmcli/soft-serve:latest-arm64
172      - docker.io/charmcli/soft-serve:latest-armv7
173      - docker.io/charmcli/soft-serve:latest-i386
174  - name_template: ghcr.io/charmbracelet/soft-serve:latest
175    image_templates:
176      - ghcr.io/charmbracelet/soft-serve:latest-amd64
177      - ghcr.io/charmbracelet/soft-serve:latest-arm64
178      - ghcr.io/charmbracelet/soft-serve:latest-armv7
179      - ghcr.io/charmbracelet/soft-serve:latest-i386
180  - name_template: docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}
181    image_templates:
182      - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
183      - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
184      - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
185      - docker.io/charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
186  - name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}
187    image_templates:
188      - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
189      - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
190      - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
191      - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
192  - name_template: docker.io/charmcli/soft-serve:v{{ .Version }}
193    image_templates:
194      - docker.io/charmcli/soft-serve:v{{ .Version }}-amd64
195      - docker.io/charmcli/soft-serve:v{{ .Version }}-arm64
196      - docker.io/charmcli/soft-serve:v{{ .Version }}-armv7
197      - docker.io/charmcli/soft-serve:v{{ .Version }}-i386
198  - name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Version }}
199    image_templates:
200      - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64
201      - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64
202      - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7
203      - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386