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

builds:
  - binary: task
    main: ./cmd/task
    goos:
      - windows
      - darwin
      - linux
      - freebsd
    goarch:
      - '386'
      - amd64
      - arm
      - arm64
      - riscv64
    goarm:
      - '6'
    ignore:
      - goos: darwin
        goarch: '386'
      - goos: darwin
        goarch: riscv64
      - goos: windows
        goarch: riscv64
    env:
      - CGO_ENABLED=0
    mod_timestamp: '{{ .CommitTimestamp }}'
    flags:
      - -trimpath
    ldflags:
      - -s -w # Don't set main.version.

gomod:
  proxy: true

archives:
  - name_template: "{{.Binary}}_{{.Os}}_{{.Arch}}"
    files:
      - README.md
      - LICENSE
      - completion/**/*
    format_overrides:
      - goos: windows
        format: zip

release:
  draft: true

snapshot:
  version_template: "{{.Version}}"

checksum:
  name_template: "task_checksums.txt"

nfpms:
  - vendor: Task
    homepage: https://taskfile.dev
    maintainer: Andrey Nering <andrey@nering.com.br>
    description: Simple task runner written in Go
    license: MIT
    conflicts:
      - taskwarrior
    formats:
      - deb
      - rpm
    file_name_template: "{{.ProjectName}}_{{.Os}}_{{.Arch}}"
    contents:
      - src: completion/bash/task.bash
        dst: /etc/bash_completion.d/task
      - src: completion/fish/task.fish
        dst: /usr/share/fish/completions/task.fish
      - src: completion/zsh/_task
        dst: /usr/local/share/zsh/site-functions/_task

brews:
  - name: go-task
    description: Task runner / simpler Make alternative written in Go
    license: MIT
    homepage: https://taskfile.dev
    directory: Formula
    repository:
      owner: go-task
      name: homebrew-tap
    test:
      system "#{bin}/task", "--help"
    install: |-
      bin.install "task"
      bash_completion.install "completion/bash/task.bash" => "task"
      zsh_completion.install "completion/zsh/_task" => "_task"
      fish_completion.install "completion/fish/task.fish"
    commit_author:
      name: task-bot
      email: 106601941+task-bot@users.noreply.github.com

winget:
  - name: Task
    publisher: Task
    short_description: A task runner / simpler Make alternative written in Go
    description: Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make.
    license: MIT
    homepage: https://taskfile.dev/
    publisher_url: https://taskfile.dev/
    publisher_support_url: https://github.com/go-task/task/issues
    package_identifier: Task.Task
    commit_author:
      name: task-bot
      email: 106601941+task-bot@users.noreply.github.com
    commit_msg_template: "chore: bump {{.PackageIdentifier}} to {{.Tag}}"
    release_notes_url: https://github.com/go-task/task/releases/tag/{{.Tag}}
    tags:
      - build
      - build-tool
      - devops
      - go
      - make
      - makefile
      - runner
      - task
      - task-runner
      - taskfile
      - tool
    skip_upload: true
    repository:
      owner: microsoft
      name: winget-pkgs
      pull_request:
        enabled: true
        base:
          owner: go-task
          name: winget-pkgs
          branch: "bump-task-to-{{.Tag}}"