---
project_name: golangci-lint

release:
  github:
    owner: golangci
    name: golangci-lint

builds:
  - binary: golangci-lint
    goos:
      - darwin
      - windows
      - linux
      - freebsd
    goarch:
      - amd64
      - arm64
      - arm
      - 386
      - ppc64le
      - s390x
      - mips64
      - mips64le
    goarm:
      - 6
      - 7
    env:
      - CGO_ENABLED=0
    ignore:
      - goos: darwin
        goarch: 386
      - goos: freebsd
        goarch: arm64
    main: ./cmd/golangci-lint/
    ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}}

archives:
  - format: tar.gz
    wrap_in_directory: true
    format_overrides:
      - goos: windows
        format: zip
    name_template: '{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
    files:
      - LICENSE
      - README.md

snapshot:
  name_template: SNAPSHOT-{{ .Commit }}

checksum:
  name_template: '{{ .ProjectName }}-{{ .Version }}-checksums.txt'

changelog:
  sort: asc
  filters:
    exclude:
    - '^docs:'
    - '^test:'
    - '^dev:'
    - 'README'
    - Merge pull request
    - Merge branch

dockers:
  - dockerfile: build/Dockerfile
    binaries:
      - golangci-lint
    image_templates:
      - "golangci/golangci-lint:latest"
      - "golangci/golangci-lint:{{ .Tag }}"
      - "golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}"
  - dockerfile: build/Dockerfile.alpine
    binaries:
      - golangci-lint
    image_templates:
      - "golangci/golangci-lint:latest-alpine"
      - "golangci/golangci-lint:{{ .Tag }}-alpine"
      - "golangci/golangci-lint:v{{ .Major }}.{{ .Minor }}-alpine"

brews:
  - tap:
      owner: golangci
      name: homebrew-tap
    folder: Formula
    homepage: https://golangci.com
    description: Fast linters runner for Go.
    install: |
      bin.install "golangci-lint"
      output = Utils.popen_read("#{bin}/golangci-lint completion bash")
      (bash_completion/"golangci-lint").write output
      output = Utils.popen_read("#{bin}/golangci-lint completion zsh")
      (zsh_completion/"_golangci-lint").write output
      output = Utils.popen_read("#{bin}/golangci-lint completion fish")
      (fish_completion/"eksctl.fish").write output
      prefix.install_metafiles
    test: |
      system "#{bin}/golangci-lint --version"

nfpms:
  -
    id: golangci-lint-nfpms
    package_name: golangci-lint
    file_name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
    homepage: https://golangci-lint.run/
    maintainer: "golangci-lint Team <golangci-releaser@users.noreply.github.com>"
    description: Fast linters Runner for Go
    license: GPLv3
    formats:
      - deb
      - rpm
