distributable:
  url: https://tailcall.gateway.scarf.sh/archive/refs/tags/tailcall-v{{ version }}.tar.gz
  strip-components: 1

provides:
  - bin/tailcall

versions:
  github: tailcallhq/tailcall
  strip: /v/

build:
  env:
    APP_VERSION: '{{ version }}'
  dependencies:
    rust-lang.org: '>=1.65'
    rust-lang.org/cargo: '*'
    protobuf.dev: '*'
  script:
    # tries to load a vendored `protoc` with the wrong architecture
    # removed in 0.75.0
    - run: sed -i 's|protoc_bin_vendored::protoc_bin_path().expect("Failed to find protoc binary")|Path::new("{{deps.protobuf.dev.prefix}}/bin/protoc")|' build.rs
      if: <0.75.0
    - cargo install --locked --path . --root {{prefix}}

test:
  script:
    # required file
    - run: touch .env
      if: '>=0.65.0'
    - tailcall --version | grep "tailcall {{version}}"
