17b8b7ea0c
To free up build in Travis, we decided to run the non-flaky parts of the CI pipeline in GitHub Workflows/Actions only. The integration tests on the other hand are removed from GitHub because individual actions cannot be restarted there which caused us to restart the whole workflow if one test was flaky. This split should give us the best of both worlds: Fast run of small checks, linting and unit tests with an easy overview of what failed in the PR directly. And more free build slots on Travis to do more advanced integration tests on other architectures and/or operating systems. And the option to restart a single flaky integration test on Travis.
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
language: go
|
|
cache:
|
|
directories:
|
|
- ~/bitcoin/bitcoin-0.19.1/bin
|
|
- $DOWNLOAD_CACHE
|
|
- $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:
|
|
- "1.14.x"
|
|
|
|
env:
|
|
global:
|
|
- GOCACHE=$HOME/.go-build
|
|
- DOWNLOAD_CACHE=$HOME/download_cache
|
|
|
|
sudo: required
|
|
|
|
jobs:
|
|
include:
|
|
- stage: Integration Test
|
|
name: Btcd Integration
|
|
script:
|
|
- make itest
|
|
|
|
- name: Bitcoind Integration
|
|
script:
|
|
- bash ./scripts/install_bitcoind.sh
|
|
- make itest backend=bitcoind
|
|
|
|
- name: Neutrino Integration
|
|
script:
|
|
- make itest backend=neutrino
|
|
|
|
|
|
after_script:
|
|
- LOG_FILES=./lntest/itest/*.log
|
|
- echo "Uploading to termbin.com..." && find $LOG_FILES | xargs -I{} sh -c "cat {} | nc termbin.com 9999 | xargs -r0 printf '{} uploaded to %s'"
|
|
- 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'
|