lnd.xprv/.travis.yml
Johan T. Halseth b4aeb83dbb
travis: split up into 3 builds
This commit distributes the CI tests into 3 independend builds, by
splitting the integration test run and unit test coverage.

To better handle the extra cases, we define a build matrix with the
three build types (RACE and LINT, ITEST, COVER).
2018-11-16 11:08:16 +01:00

40 lines
1.1 KiB
YAML

language: go
go:
- "1.11.x"
env:
matrix:
- RACE=true LINT=true
- ITEST=true
- COVER=true
sudo: required
install:
- sudo add-apt-repository -y ppa:bitcoin/bitcoin -y
- sudo apt-get update -q
- sudo apt-get install bitcoind -y
- export PATH=$PATH:$PWD/linux-amd64/
script:
# Common for all builds.
- make dep
- make btcd
# Run linter if LINT=true.
- 'if [ "$LINT" = true ]; then make lint ; fi'
# Run unit tests with race condition detector.
- 'if [ "$RACE" = true ]; then make unit-race ; fi'
# Run integration tests.
- 'if [ "$ITEST" = true ]; then make build ; fi'
- 'if [ "$ITEST" = true ]; then make itest-only ; fi'
# Run unit tests and generate coverage report.
- 'if [ "$COVER" = true ]; then make unit-cover; fi'
- 'if [ "$COVER" = true ]; then make goveralls; fi'
after_script:
- echo "Uploading to termbin.com..." && find *.log | xargs -I{} sh -c "cat {} | nc termbin.com 9999 | xargs -r0 printf '{} uploaded to %s'"
- echo "Uploading to file.io..." && tar -zcvO *.log | curl -s -F 'file=@-;filename=logs.tar.gz' https://file.io | xargs -r0 printf 'logs.tar.gz uploaded to %s\n'