distributable:
  url: https://github.com/diggerhq/digger/archive/refs/tags/v{{version}}.tar.gz
  strip-components: 1

versions:
  github: diggerhq/digger

provides:
  - bin/digger

build:
  dependencies:
    go.dev: ^1.21
  script:
    - go mod download
    # Fix merged but not released https://github.com/diggerhq/digger/issues/581
    # by @kevinmichaelchen
    - run: |
        sed -i.bak -e 's/^const version =/var version =/' version.go
        rm version.go.bak
      working-directory: pkg/utils
    - go build -v -trimpath -ldflags="$LDFLAGS" -o $BUILDLOC ./cmd/digger
  env:
    GOPROXY: https://proxy.golang.org,direct
    GOSUMDB: sum.golang.org
    GO111MODULE: on
    CGO_ENABLED: 0
    BUILDLOC: '{{prefix}}/bin/digger'
    LDFLAGS:
      - -s
      - -w
      # different versions usesd different mod names
      - -X digger/pkg/utils.version={{version}}
      - -X github.com/diggerhq/digger/pkg/utils.version={{version}}
    linux:
      # or segmentation fault
      # fix found here https://github.com/docker-library/golang/issues/402#issuecomment-982204575
      LDFLAGS:
      - -buildmode=pie

test:
  script:
    - test "$(digger version)" = "you are using digger version {{version}}"
