github.com/minio/mc@v0.0.0-20240507152021-646712d5e5fb/.goreleaser.yml (about)

     1  project_name: mc
     2  
     3  release:
     4     name_template: "Version {{.Version}}"
     5     disable: true
     6     github:
     7      owner: minio
     8      name: mc
     9  
    10  env:
    11    - CGO_ENABLED=0
    12    - GO111MODULE=on
    13  
    14  before:
    15    hooks:
    16      - make clean
    17      - go generate ./...
    18      - go mod tidy
    19      - go mod download
    20  
    21  builds:
    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  
    72  archives:
    73    -
    74      format: binary
    75      name_template: "{{ .Binary }}-release/{{ .Os }}-{{ .Arch }}/{{ .Binary }}.{{ .Version }}"
    76  
    77  nfpms:
    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  
   112  checksum:
   113    algorithm: sha256
   114  
   115  signs:
   116    -
   117      signature: "${artifact}.asc"
   118      cmd: "sh"
   119      args:
   120        - '-c'
   121        - 'gpg --quiet --detach-sign -a ${artifact}'
   122      artifacts: all
   123  
   124  changelog:
   125    sort: asc
   126    filters:
   127      exclude:
   128        - '^Update yaml files'
   129  
   130  dockers:
   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