You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.3 KiB
109 lines
3.3 KiB
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
|
|
|