before:
  hooks:
    - go mod tidy
builds:
  - env:
      - CGO_ENABLED=1
    goos:
      - linux
    goarch:
      - amd64
    goamd64:
      - v3
    id: "cc-backend"
    binary: cc-backend
    main: ./cmd/cc-backend
    ldflags:
      - -s -w -X main.version={{.Version}}
      - -X main.commit={{.Commit}} -X main.date={{.Date}}
      - -linkmode external -extldflags -static
    tags:
      - static_build
    hooks:
      pre: make frontend
  - env:
      - CGO_ENABLED=0
    goos:
      - linux
    goarch:
      - amd64
    goamd64:
      - v3
    id: "archive-manager"
    binary: archive-manager
    main: ./tools/archive-manager
    tags:
      - static_build
  - env:
      - CGO_ENABLED=0
    goos:
      - linux
    goarch:
      - amd64
    goamd64:
      - v3
    id: "archive-migration"
    binary: archive-migration
    main: ./tools/archive-migration
    tags:
      - static_build
  - env:
      - CGO_ENABLED=0
    goos:
      - linux
    goarch:
      - amd64
    goamd64:
      - v3
    id: "gen-keypair"
    binary: gen-keypair
    main: ./tools/gen-keypair
    tags:
      - static_build
archives:
  - format: tar.gz
    # this name template makes the OS and Arch compatible with the results of uname.
    name_template: >-
      {{ .ProjectName }}_
      {{- title .Os }}_
      {{- if eq .Arch "amd64" }}x86_64
      {{- else }}{{ .Arch }}{{ end }}
      {{- if .Arm }}v{{ .Arm }}{{ end }}
checksum:
  name_template: 'checksums.txt'
snapshot:
  name_template: "{{ incpatch .Version }}-next"
changelog:
  sort: asc
  filters:
    include:
      - "^feat:"
      - "^fix:"
      - "^sec:"
      - "^docs:"
  groups:
    - title: "Dependency updates"
      regexp: '^.*?(feat|fix)\(deps\)!?:.+$'
      order: 300
    - title: "New Features"
      regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
      order: 100
    - title: "Security updates"
      regexp: '^.*?sec(\([[:word:]]+\))??!?:.+$'
      order: 150
    - title: "Bug fixes"
      regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
      order: 200
    - title: "Documentation updates"
      regexp: ^.*?doc(\([[:word:]]+\))??!?:.+$
      order: 400
release:
  draft: false
  footer: |
    Supports job archive version 1 and database version 6.
    Please check out the [Release Notes](https://github.com/ClusterCockpit/cc-backend/blob/master/ReleaseNotes.md) for further details on breaking changes.

# vim: set ts=2 sw=2 tw=0 fo=cnqoj
