
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json

version: 2

project_name: tasker

release:
  prerelease: auto
  name_template: "Version v{{.Version}}"
  # draft: true
  mode: "keep-existing"

before:
  hooks:
    - go mod tidy

builds:
  - id: macOS
    binary: bin/tasker
    main: ./cmd/tasker
    ldflags:
      - -X main.Version={{.Version}}
    env:
      - CGO_ENABLED=0
    goos: [darwin]
    goarch: [amd64, arm64]

  - id: linux
    main: ./cmd/tasker
    goos: [linux]
    goarch: ["386", arm, amd64, arm64]

  - id: windows
    main: ./cmd/tasker
    goos: [windows]
    goarch: [amd64]

archives:
  - id: nix
    builds: [macOS, linux]
    name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
    wrap_in_directory: true
    format: tar.gz
    files:
      - LICENSE

  - id: windows
    builds: [windows]
    wrap_in_directory: false
    format: zip
    files:
      - LICENSE

checksum:
  name_template: 'checksums.txt'
  algorithm: sha256

changelog:
  disable: true
  use: github
  sort: desc
  filters:
    exclude:
      - '^doc:'
      - '^dev:'
      - '^build:'
      - '^ci:'
