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

versions:
  github: kluctl/kluctl
  strip: /^kluctl-v/

build:
  dependencies:
    go.dev: ^1.21
    nodejs.org: ^18
    npmjs.com: "*"
    gnu.org/make: "*"
  env:
    CGO_ENABLED: 0
    LDFLAGS:
      - -extldflags=-static
      - -w
      - -s
      - -X=main.version=v{{version}}
  script: |
    make build-webui
    go build -v -ldflags="$LDFLAGS" -o bin/kluctl cmd/main.go
    mkdir -p "{{ prefix }}"/bin
    mv bin/kluctl "{{ prefix }}"/bin

provides:
  - bin/kluctl

test:
  script: |
    test "$(kluctl version)" = v{{version}}
    kluctl render --print-all --offline-kubernetes -t simple > simple.yml
    test -f simple.yml
