# This is an example goreleaser.yaml file with some sane defaults.
# Make sure to check the documentation at http://goreleaser.com
project_name: console

release:
   name_template: "Release version {{.Tag}}"
   github:
    owner: minio
    name: console
   extra_files:
     - glob: "*.minisig"

before:
  hooks:
    # you may remove this if you don't use vgo
    - go mod tidy -compat=1.17

builds:
  -
    goos:
      - linux
      - darwin
      - windows
    goarch:
      - amd64
      - ppc64le
      - s390x
      - arm64
    ignore:
      - goos: darwin
        goarch: arm
      - goos: windows
        goarch: arm64
      - goos: windows
        goarch: arm

    env:
      - CGO_ENABLED=0

    main: ./cmd/console/

    flags:
      - -trimpath
      - --tags=kqueue,operator

    ldflags:
      - -s -w -X github.com/minio/console/pkg.ReleaseTag={{.Tag}} -X github.com/minio/console/pkg.CommitID={{.FullCommit}} -X github.com/minio/console/pkg.Version={{.Version}} -X github.com/minio/console/pkg.ShortCommitID={{.ShortCommit}} -X github.com/minio/console/pkg.ReleaseTime={{.Date}}

archives:
  -
    name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}"
    format: binary
    replacements:
      arm: arm

signs:
  -
    signature: "${artifact}.minisig"
    cmd: "sh"
    args:
      - '-c'
      - 'minisign -s /media/${USER}/minio/minisign.key -Sm ${artifact} < /media/${USER}/minio/minisign-passphrase'
    artifacts: all

snapshot:
  name_template: v0.0.0@{{.ShortCommit}}

changelog:
  sort: asc

nfpms:
  -
    vendor: MinIO, Inc.
    homepage: https://github.com/minio/console
    maintainer: MinIO Development <dev@min.io>
    description: MinIO Console Server
    license: GNU Affero General Public License v3.0
    formats:
      - deb
      - rpm
    contents:
      # Basic file that applies to all packagers
      - src: systemd/console.service
        dst: /etc/systemd/system/minio-console.service

dockers:
- image_templates:
  - "minio/console:{{ .Tag }}-amd64"
  use: buildx
  goarch: amd64
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/amd64"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "minio/console:{{ .Tag }}-ppc64le"
  use: buildx
  goarch: ppc64le
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/ppc64le"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "minio/console:{{ .Tag }}-s390x"
  use: buildx
  goarch: s390x
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/s390x"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "minio/console:{{ .Tag }}-arm64"
  use: buildx
  goarch: arm64
  goos: linux
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/arm64"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "quay.io/minio/console:{{ .Tag }}-amd64"
  use: buildx
  goarch: amd64
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/amd64"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "quay.io/minio/console:{{ .Tag }}-ppc64le"
  use: buildx
  goarch: ppc64le
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/ppc64le"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "quay.io/minio/console:{{ .Tag }}-s390x"
  use: buildx
  goarch: s390x
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/s390x"
  - "--build-arg=TAG={{ .Tag }}"
- image_templates:
  - "quay.io/minio/console:{{ .Tag }}-arm64"
  use: buildx
  goarch: arm64
  goos: linux
  dockerfile: Dockerfile.release
  extra_files:
    - LICENSE
    - CREDITS
  build_flag_templates:
  - "--platform=linux/arm64"
  - "--build-arg=TAG={{ .Tag }}"
docker_manifests:
- name_template: minio/console:{{ .Tag }}
  image_templates:
  - minio/console:{{ .Tag }}-amd64
  - minio/console:{{ .Tag }}-arm64
  - minio/console:{{ .Tag }}-ppc64le
  - minio/console:{{ .Tag }}-s390x
- name_template: quay.io/minio/console:{{ .Tag }}
  image_templates:
  - quay.io/minio/console:{{ .Tag }}-amd64
  - quay.io/minio/console:{{ .Tag }}-arm64
  - quay.io/minio/console:{{ .Tag }}-ppc64le
  - quay.io/minio/console:{{ .Tag }}-s390x
- name_template: minio/console:latest
  image_templates:
  - minio/console:{{ .Tag }}-amd64
  - minio/console:{{ .Tag }}-arm64
  - minio/console:{{ .Tag }}-ppc64le
  - minio/console:{{ .Tag }}-s390x
