1project_name: soft-serve
2
3env:
4 - GO111MODULE=on
5 - CGO_ENABLED=0
6
7before:
8 hooks:
9 - go mod download
10
11builds:
12 - id: "soft-serve"
13 binary: "soft-serve"
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
28dockers:
29 - image_templates:
30 - "charmcli/soft-serve:latest-amd64"
31 - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
32 - "charmcli/soft-serve:v{{ .Version }}-amd64"
33 - "ghcr.io/charmbracelet/soft-serve:latest-amd64"
34 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64"
35 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64"
36 ids: [soft-serve]
37 goarch: amd64
38 build_flag_templates:
39 - --platform=linux/amd64
40 - --label=org.opencontainers.image.title={{ .ProjectName }}
41 - --label=org.opencontainers.image.description={{ .ProjectName }}
42 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
43 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
44 - --label=org.opencontainers.image.version=v{{ .Version }}
45 - --label=org.opencontainers.image.created={{ .Date }}
46 - --label=org.opencontainers.image.revision={{ .FullCommit }}
47 - --label=org.opencontainers.image.licenses=MIT
48 dockerfile: Dockerfile
49 use: buildx
50 - image_templates:
51 - "charmcli/soft-serve:latest-i386"
52 - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
53 - "charmcli/soft-serve:v{{ .Version }}-i386"
54 - "ghcr.io/charmbracelet/soft-serve:latest-i386"
55 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386"
56 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386"
57 ids: [soft-serve]
58 goarch: "386"
59 build_flag_templates:
60 - --platform=linux/i386
61 - --label=org.opencontainers.image.title={{ .ProjectName }}
62 - --label=org.opencontainers.image.description={{ .ProjectName }}
63 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
64 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
65 - --label=org.opencontainers.image.version=v{{ .Version }}
66 - --label=org.opencontainers.image.created={{ .Date }}
67 - --label=org.opencontainers.image.revision={{ .FullCommit }}
68 - --label=org.opencontainers.image.licenses=MIT
69 dockerfile: Dockerfile
70 use: buildx
71 - image_templates:
72 - "charmcli/soft-serve:latest-arm64"
73 - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
74 - "charmcli/soft-serve:v{{ .Version }}-arm64"
75 - "ghcr.io/charmbracelet/soft-serve:latest-arm64"
76 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64"
77 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64"
78 ids: [soft-serve]
79 goarch: arm64
80 build_flag_templates:
81 - --platform=linux/arm64
82 - --label=org.opencontainers.image.title={{ .ProjectName }}
83 - --label=org.opencontainers.image.description={{ .ProjectName }}
84 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
85 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
86 - --label=org.opencontainers.image.version=v{{ .Version }}
87 - --label=org.opencontainers.image.created={{ .Date }}
88 - --label=org.opencontainers.image.revision={{ .FullCommit }}
89 - --label=org.opencontainers.image.licenses=MIT
90 dockerfile: Dockerfile
91 use: buildx
92 - image_templates:
93 - "charmcli/soft-serve:latest-armv6"
94 - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6"
95 - "charmcli/soft-serve:v{{ .Version }}-armv6"
96 - "ghcr.io/charmbracelet/soft-serve:latest-armv6"
97 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6"
98 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv6"
99 ids: [soft-serve]
100 goarch: arm
101 goarm: "6"
102 build_flag_templates:
103 - --platform=linux/arm/v6
104 - --label=org.opencontainers.image.title={{ .ProjectName }}
105 - --label=org.opencontainers.image.description={{ .ProjectName }}
106 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
107 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
108 - --label=org.opencontainers.image.version=v{{ .Version }}
109 - --label=org.opencontainers.image.created={{ .Date }}
110 - --label=org.opencontainers.image.revision={{ .FullCommit }}
111 - --label=org.opencontainers.image.licenses=MIT
112 dockerfile: Dockerfile
113 use: buildx
114 - image_templates:
115 - "charmcli/soft-serve:latest-armv7"
116 - "charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
117 - "charmcli/soft-serve:v{{ .Version }}-armv7"
118 - "ghcr.io/charmbracelet/soft-serve:latest-armv7"
119 - "ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7"
120 - "ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7"
121 ids: [soft-serve]
122 goarch: arm
123 goarm: "7"
124 build_flag_templates:
125 - --platform=linux/arm/v7
126 - --label=org.opencontainers.image.title={{ .ProjectName }}
127 - --label=org.opencontainers.image.description={{ .ProjectName }}
128 - --label=org.opencontainers.image.url=https://github.com/charmbracelet/soft-serve
129 - --label=org.opencontainers.image.source=https://github.com/charmbracelet/soft-serve
130 - --label=org.opencontainers.image.version=v{{ .Version }}
131 - --label=org.opencontainers.image.created={{ .Date }}
132 - --label=org.opencontainers.image.revision={{ .FullCommit }}
133 - --label=org.opencontainers.image.licenses=MIT
134 dockerfile: Dockerfile
135 use: buildx
136
137docker_manifests:
138 - name_template: charmcli/soft-serve:latest
139 image_templates:
140 - charmcli/soft-serve:latest-amd64
141 - charmcli/soft-serve:latest-arm64
142 - charmcli/soft-serve:latest-armv6
143 - charmcli/soft-serve:latest-armv7
144 - charmcli/soft-serve:latest-i386
145 - name_template: ghcr.io/charmbracelet/soft-serve:latest
146 image_templates:
147 - ghcr.io/charmbracelet/soft-serve:latest-amd64
148 - ghcr.io/charmbracelet/soft-serve:latest-arm64
149 - ghcr.io/charmbracelet/soft-serve:latest-armv6
150 - ghcr.io/charmbracelet/soft-serve:latest-armv7
151 - ghcr.io/charmbracelet/soft-serve:latest-i386
152 - name_template: charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}
153 image_templates:
154 - charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
155 - charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
156 - charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6
157 - charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
158 - charmcli/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
159 - name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}
160 image_templates:
161 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-amd64
162 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-arm64
163 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv6
164 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-armv7
165 - ghcr.io/charmbracelet/soft-serve:v{{ .Major }}.{{ .Minor }}-i386
166 - name_template: charmcli/soft-serve:v{{ .Version }}
167 image_templates:
168 - charmcli/soft-serve:v{{ .Version }}-amd64
169 - charmcli/soft-serve:v{{ .Version }}-arm64
170 - charmcli/soft-serve:v{{ .Version }}-armv6
171 - charmcli/soft-serve:v{{ .Version }}-armv7
172 - charmcli/soft-serve:v{{ .Version }}-i386
173 - name_template: ghcr.io/charmbracelet/soft-serve:v{{ .Version }}
174 image_templates:
175 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-amd64
176 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-arm64
177 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv6
178 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-armv7
179 - ghcr.io/charmbracelet/soft-serve:v{{ .Version }}-i386