language: go
cache:
  directories:
    - $GOCACHE
    - $GOPATH/pkg/mod
    - $GOPATH/src/github.com/btcsuite
    - $GOPATH/src/github.com/golang
    - $GOPATH/src/github.com/grpc-ecosystem
    - $GOPATH/src/gopkg.in/alecthomas
    - $GOPATH/src/google.golang.org

# Remove Travis' default flag --depth=50 from the git clone command to make sure
# we have the whole git history, including the commit we lint against.
git:
  depth: false

go:
  # If you change this value, please change it in the following files as well:
  # /Dockerfile
  # /dev.Dockerfile
  # /make/builder.Dockerfile
  # /.github/workflows/main.yml
  # /.github/workflows/release.yml
  - "1.21.0"

env:
  global:
    - GOCACHE=$HOME/.go-build
    - BITCOIN_VERSION="22.0"

sudo: required

jobs:
  include:
    - stage: Integration Test
      name: Bitcoind Integration ARM
      script:
        - bash ./scripts/install_bitcoind.sh
        - GOMEMLIMIT=1024MiB GOARM=7 GOARCH=arm GOOS=linux travis_wait 120 make itest-parallel backend=bitcoind tranches=8
      arch: arm64

after_failure:
  - |-
    LOG_FILES=$(find ./itest -name '*.log')
    echo "Uploading to termbin.com..." && for f in $LOG_FILES; do echo -n $f; cat $f | nc termbin.com 9999 | xargs -r0 printf ' uploaded to %s'; done
    echo "Uploading to file.io..." && tar -zcvO $LOG_FILES | curl -s -F 'file=@-;filename=logs.tar.gz' https://file.io | xargs -r0 printf 'logs.tar.gz uploaded to %s\n'