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

versions:
  github: jumppad-labs/jumppad

provides:
  - bin/jumppad

build:
  dependencies:
    go.dev: =1.21.5
    linux:
      # invalid linker name in argument '-fuse-ld=gold'
      gnu.org/gcc: '*'
  script:
    - go mod download
    - go build -v -trimpath -ldflags="$GO_LDFLAGS" -o $BUILDLOC .
  env:
    BUILDLOC: '{{prefix}}/bin/jumppad'
    GO_LDFLAGS:
      - -s
      - -w
      - -X main.version=v{{version}}
    linux:
      # or segmentation fault
      # fix found here https://github.com/docker-library/golang/issues/402#issuecomment-982204575
      GO_LDFLAGS:
        - -buildmode=pie

test:
  - 'test "$(jumppad version --non-interactive 2>&1)" = "Current Version: v{{version}}"'
  - run: cp $FIXTURE main.hcl
    working-directory: test
    fixture: |
      resource "network" "local" {
        subnet = "10.5.0.0/16"
      }
  - jumppad test --non-interactive
