env:
  - GO111MODULE=on
before:
  hooks:
    - go mod tidy

builds:
- env:
    - CGO_ENABLED=0
  goos:
    - linux
    - darwin
    - windows
  goarch:
    - 386
    - amd64
    - arm
    - arm64
  mod_timestamp: '{{ .CommitTimestamp }}'
  flags:
    - -trimpath
  ldflags:
    - -s -w -X main.Version={{.Version}}
checksum:
  name_template: '{{ .ProjectName }}_checksums.txt'

changelog:
  sort: 'asc'
  filters:
    exclude: ['^docs:', '^test:', 'Merge pull request', 'Merge branch', 'go mod tidy']

archives:
  - name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
    replacements:
      darwin: Darwin
      linux: Linux
      windows: Windows
      386: i386
      amd64: x86_64
    format_overrides:
    - goos: windows
      format: zip

brews:
  - tap:
      owner: kha7iq
      name: homebrew-tap
    folder: Formula
    homepage: pingme.lmno.pk
    description: PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms.
    license: MIT
    test: |
      system "#{bin}/pingme -v"
    install: |-
      bin.install "pingme"

nfpms:
  - file_name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
    homepage:  pingme.lmno.pk
    description: PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms.
    license: MIT
    formats:
    - deb
    - rpm
    dependencies:
    - git

# snapcrafts:
#   - name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
#     summary: PingMe is a CLI tool which provides the ability to send messages
#     description: |
#       PingMe is a CLI tool which provides the ability to send messages
#       or alerts to multiple messaging platforms.
#     grade: stable
#     confinement: strict
#     publish: false

scoop:
  url_template: "https://github.com/kha7iq/pingme/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
  bucket:
    owner: kha7iq
    name: scoop-bucket
  homepage:  https://pingme.lmno.pk
  description: PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms.
  license: MIT


dockers:
- image_templates:
  - 'khaliq/pingme:{{ .Tag }}'
  - 'khaliq/pingme:latest'
  - 'ghcr.io/kha7iq/pingme:{{ .Tag }}'
  - 'ghcr.io/kha7iq/pingme:latest'
  dockerfile: Dockerfile
  build_flag_templates:
  - "--pull"
  - "--label=org.opencontainers.image.created={{.Date}}"
  - "--label=org.opencontainers.image.name={{.ProjectName}}"
  - "--label=org.opencontainers.image.revision={{.FullCommit}}"
  - "--label=org.opencontainers.image.version={{.Version}}"
  - "--label=org.opencontainers.image.source={{.GitURL}}"
  - "--platform=linux/amd64"
