110 lines
3.3 KiB
YAML
110 lines
3.3 KiB
YAML
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.16.3
|
|
|
|
env:
|
|
global:
|
|
- GOCACHE=$HOME/.go-build
|
|
- BITCOIN_VERSION=0.20.1
|
|
|
|
sudo: required
|
|
|
|
jobs:
|
|
include:
|
|
- stage: Sanity Check
|
|
name: Lint and compile
|
|
script:
|
|
# Step 1: Make sure no diff is produced when compiling with the correct
|
|
# version.
|
|
- make rpc-check
|
|
|
|
# Step 2: Make sure the unit tests compile, but don't run them. They run
|
|
# in a GitHub Workflow.
|
|
- make unit pkg=... case=_NONE_
|
|
|
|
# Step 3: Lint go code. Invoke GC more often to reduce memory usage.
|
|
- GOGC=30 make lint
|
|
|
|
- stage: Integration Test
|
|
name: Btcd Integration
|
|
script:
|
|
- make itest-parallel
|
|
|
|
- name: Bitcoind Integration (txindex enabled)
|
|
script:
|
|
- bash ./scripts/install_bitcoind.sh
|
|
- make itest-parallel backend=bitcoind
|
|
|
|
- name: Bitcoind Integration with etcd (txindex enabled)
|
|
script:
|
|
- bash ./scripts/install_bitcoind.sh
|
|
- make itest-parallel backend=bitcoind dbbackend=etcd
|
|
|
|
- name: Bitcoind Integration (txindex disabled)
|
|
script:
|
|
- bash ./scripts/install_bitcoind.sh
|
|
- make itest-parallel backend="bitcoind notxindex"
|
|
|
|
- name: Neutrino Integration
|
|
script:
|
|
- make itest-parallel backend=neutrino
|
|
|
|
- name: Btcd Integration ARM
|
|
script:
|
|
- GOARM=7 GOARCH=arm GOOS=linux make itest-parallel
|
|
arch: arm64
|
|
|
|
- name: Btcd Integration Windows
|
|
script:
|
|
# The windows VM seems to be slower than the other Travis VMs. We only
|
|
# run 2 test suites in parallel instead of the default 4.
|
|
- make itest-parallel windows=1 ITEST_PARALLELISM=2
|
|
os: windows
|
|
before_install:
|
|
- choco upgrade --no-progress -y make netcat curl findutils
|
|
- export MAKE=mingw32-make
|
|
after_failure:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
windows)
|
|
echo "Uploading to termbin.com..."
|
|
LOG_FILES=$(find ./lntest/itest -name '*.log')
|
|
for f in $LOG_FILES; do echo -n $f; cat $f | nc termbin.com 9999 | xargs -r0 printf ' uploaded to %s'; done
|
|
;;
|
|
esac
|
|
|
|
after_failure:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
windows)
|
|
# Needs other commands, see after_script of the Windows build
|
|
;;
|
|
|
|
*)
|
|
LOG_FILES=$(find ./lntest/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'
|
|
;;
|
|
esac
|