1project_name: mc
2
3release:
4   name_template: "Version {{.Version}}"
5   disable: true
6   github:
7    owner: minio
8    name: mc
9
10env:
11  - CGO_ENABLED=0
12  - GO111MODULE=on
13
14before:
15  hooks:
16    - make clean
17    - go generate ./...
18    - go mod tidy
19    - go mod download
20
21builds:
22  -
23    goos:
24      - linux
25      - darwin
26      - windows
27      - freebsd
28
29    goarch:
30      - amd64
31      - arm64
32      - arm
33      - ppc64le
34      - s390x
35
36    goarm:
37      - 7
38
39    ignore:
40      - goos: darwin
41        goarch: arm64
42      - goos: darwin
43        goarch: arm
44      - goos: darwin
45        goarch: ppc64le
46      - goos: darwin
47        goarch: s390x
48      - goos: windows
49        goarch: arm64
50      - goos: windows
51        goarch: arm
52      - goos: windows
53        goarch: ppc64le
54      - goos: windows
55        goarch: s390x
56      - goos: freebsd
57        goarch: arm
58      - goos: freebsd
59        goarch: arm64
60      - goos: freebsd
61        goarch: ppc64le
62      - goos: freebsd
63        goarch: s390x
64
65    flags:
66      - -tags=kqueue
67      - -trimpath
68
69    ldflags:
70      - "-s -w -X github.com/minio/mc/cmd.Version={{.Version}} -X github.com/minio/mc/cmd.ReleaseTag={{.Tag}} -X github.com/minio/mc/cmd.CommitID={{.FullCommit}} -X github.com/minio/mc/cmd.ShortCommitID={{.ShortCommit}}"
71
72archives:
73  -
74    format: binary
75    name_template: "{{ .Binary }}-release/{{ .Os }}-{{ .Arch }}/{{ .Binary }}.{{ .Version }}"
76
77nfpms:
78  -
79    id: minio
80    package_name: mc
81    vendor: MinIO, Inc.
82    homepage: https://min.io/
83    maintainer: dev@min.io
84    description: MinIO Client (mc) provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff, find etc. It supports filesystems and Amazon S3 compatible cloud storage service (AWS Signature v2 and v4).
85    license: Apache 2.0
86    bindir: /usr/bin
87    formats:
88      - deb
89      - rpm
90    overrides:
91      deb:
92        file_name_template: "{{ .Binary }}-release/debs/{{ .ProjectName }}-{{ .Version }}_{{ .Arch }}"
93        replacements:
94          arm: armv7
95        files:
96          "NOTICE": "/usr/share/mc/NOTICE"
97          "CREDITS": "/usr/share/mc/CREDITS"
98          "LICENSE": "/usr/share/mc/LICENSE"
99          "README.md": "/usr/share/mc/README.md"
100      rpm:
101        file_name_template: "{{ .Binary }}-release/rpms/{{ .ProjectName }}-{{ .Version }}.{{ .Arch }}"
102        replacements:
103          amd64: x86_64
104          arm64: aarch64
105          arm: armv7
106        files:
107          "NOTICE": "/usr/share/mc/NOTICE"
108          "CREDITS": "/usr/share/mc/CREDITS"
109          "LICENSE": "/usr/share/mc/LICENSE"
110          "README.md": "/usr/share/mc/README.md"
111
112checksum:
113  algorithm: sha256
114
115signs:
116  -
117    signature: "${artifact}.asc"
118    cmd: "sh"
119    args:
120      - '-c'
121      - 'gpg --quiet --detach-sign -a ${artifact}'
122    artifacts: all
123
124changelog:
125  sort: asc
126  filters:
127    exclude:
128      - '^Update yaml files'
129
130dockers:
131  -
132    goos: linux
133    goarch: amd64
134    dockerfile: Dockerfile.release
135    image_templates:
136      - minio/mc:{{ .Tag }}
137      - minio/mc:latest
138
139  -
140    goos: linux
141    goarch: ppc64le
142    dockerfile: Dockerfile.ppc64le.release
143    image_templates:
144      - minio/mc:{{ .Tag }}-ppc64le
145
146  -
147    goos: linux
148    goarch: s390x
149    dockerfile: Dockerfile.s390x.release
150    image_templates:
151      - minio/mc:{{ .Tag }}-s390x
152
153  -
154    goos: linux
155    goarch: arm64
156    goarm: ''
157    dockerfile: Dockerfile.arm64.release
158    image_templates:
159      - minio/mc:{{ .Tag }}-arm64
160
161  -
162    goos: linux
163    goarch: arm
164    goarm: '7'
165    dockerfile: Dockerfile.arm.release
166    image_templates:
167      - minio/mc:{{ .Tag }}-arm
168