project_name: flux
builds:
  - <<: &build_defaults
      binary: flux
      main: ./cmd/flux
      ldflags:
        - -s -w -X main.VERSION={{ .Version }}
      env:
        - CGO_ENABLED=0
    id: linux
    goos:
      - linux
    goarch:
      - amd64
      - arm64
      - arm
    goarm:
      - 7
  - <<: *build_defaults
    id: darwin
    goos:
      - darwin
  - <<: *build_defaults
    id: windows
    goos:
      - windows
archives:
  - name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
    id: nix
    builds: [linux, darwin]
    format: tar.gz
    files:
      - none*
  - name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
    id: windows
    builds: [windows]
    format: zip
    files:
      - none*
brews:
  - name: flux
    tap:
      owner: fluxcd
      name: homebrew-tap
      token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
    folder: Formula
    homepage: "https://toolkit.fluxcd.io/"
    description: "Flux CLI"
    dependencies:
      - name: kubectl
        type: optional
    test: |
      system "#{bin}/flux --version"
publishers:
  - name: aur-pkg-bin
    env:
      - AUR_BOT_SSH_PRIVATE_KEY={{ .Env.AUR_BOT_SSH_PRIVATE_KEY }}
    cmd: |
      .github/aur/flux-bin/publish.sh {{ .Version }}
  - name: aur-pkg-scm
    env:
      - AUR_BOT_SSH_PRIVATE_KEY={{ .Env.AUR_BOT_SSH_PRIVATE_KEY }}
    cmd: |
      .github/aur/flux-scm/publish.sh {{ .Version }}
  - name: aur-pkg-go
    env:
      - AUR_BOT_SSH_PRIVATE_KEY={{ .Env.AUR_BOT_SSH_PRIVATE_KEY }}
    cmd: |
      .github/aur/flux-go/publish.sh {{ .Version }}
release:
  extra_files:
    - glob: ./output/manifests.tar.gz
    - glob: ./output/install.yaml