GitHub+Travis: move itests to GitHub Actions

This commit is contained in:
Oliver Gugger 2021-10-01 11:51:29 +02:00
parent c89637a4e2
commit 134be244b4
No known key found for this signature in database
GPG Key ID: 8E4256593F177720
3 changed files with 97 additions and 60 deletions

View File

@ -241,6 +241,95 @@ jobs:
path-to-profile: coverage.txt path-to-profile: coverage.txt
parallel: true parallel: true
########################
# run integration tests
########################
integration-test:
name: run itests
runs-on: ubuntu-latest
strategy:
# Allow other tests in the matrix to continue if one fails.
fail-fast: false
matrix:
integration_type:
- backend=btcd
- backend=bitcoind
- backend="bitcoind notxindex"
- backend=bitcoind dbbackend=etcd
- backend=bitcoind dbbackend=postgres
- backend=neutrino
steps:
- name: git checkout
uses: actions/checkout@v2
- name: go cache
uses: actions/cache@v1
with:
path: /home/runner/work/go
key: lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-
lnd-${{ runner.os }}-go-
- name: setup go ${{ env.GO_VERSION }}
uses: actions/setup-go@v2
with:
go-version: '${{ env.GO_VERSION }}'
- name: install bitcoind
run: ./scripts/install_bitcoind.sh
- name: run ${{ matrix.unit_type }}
run: make itest-parallel ${{ matrix.unit_type }}
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: logs
path: lntest/itest/**/*.log
retention-days: 5
########################
# run windows integration test
########################
windows-integration-test:
name: run windows itest
runs-on: windows-latest
env:
GOCACHE: ${{ github.workspace }}/go/pkg/build
GOPATH: ${{ github.workspace }}/go
steps:
- name: git checkout
uses: actions/checkout@v2
- name: go cache
uses: actions/cache@v1
with:
path: ${{ env.GOPATH }}
key: lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-
lnd-${{ runner.os }}-go-
- name: setup go ${{ env.GO_VERSION }}
uses: actions/setup-go@v2
with:
go-version: '${{ env.GO_VERSION }}'
- name: run itest
run: make itest-parallel windows=1 tranches=2 parallel=2
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: logs
path: lntest/itest/**/*.log
retention-days: 5
######################## ########################
# check pinned dependencies # check pinned dependencies
######################## ########################
@ -260,7 +349,7 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: ensure dependences at correct version - name: ensure dependences at correct version
run: if ! grep -q "${{ matrix.pinned_dep }}" go.mod; then echo dependency ${{ matrix.pinned_dep }} should not be altered ; exit 1 ; fi run: if ! grep -q "${{ matrix.pinned_dep }}" go.mod; then echo dependency ${{ matrix.pinned_dep }} should not be altered ; exit 1 ; fi
######################## ########################
# check PR updates release notes # check PR updates release notes

View File

@ -47,35 +47,7 @@ jobs:
- GOGC=30 make lint - GOGC=30 make lint
- stage: Integration Test - stage: Integration Test
name: Btcd Integration name: Bitcoind Integration ARM
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 with postgres (txindex enabled)
script:
- bash ./scripts/install_bitcoind.sh
- make itest-parallel backend=bitcoind dbbackend=postgres POSTGRES_START_DELAY=10
- 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: Bitcoind Integration ARM
script: script:
- bash ./scripts/install_bitcoind.sh - bash ./scripts/install_bitcoind.sh
- GOARM=7 GOARCH=arm GOOS=linux make itest-parallel backend=bitcoind tranches=2 parallel=2 - GOARM=7 GOARCH=arm GOOS=linux make itest-parallel backend=bitcoind tranches=2 parallel=2
@ -83,35 +55,8 @@ jobs:
services: services:
- docker - docker
- 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 tranches=2 parallel=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: after_failure:
- |- - |-
case $TRAVIS_OS_NAME in LOG_FILES=$(find ./lntest/itest -name '*.log')
windows) 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
# Needs other commands, see after_script of the Windows build 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'
;;
*)
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

View File

@ -224,6 +224,9 @@ you.
1.17.1](https://github.com/lightningnetwork/lnd/pull/5650). All build tags have 1.17.1](https://github.com/lightningnetwork/lnd/pull/5650). All build tags have
been updated accordingly to comply with the new Go 1.17.1 requirements. been updated accordingly to comply with the new Go 1.17.1 requirements.
* [All integration tests (except the ARM itests) were moved from Travis CI to
GitHub Actions](https://github.com/lightningnetwork/lnd/pull/5811).
## Documentation ## Documentation
* [Outdated warning about unsupported pruning was replaced with clarification that LND **does** * [Outdated warning about unsupported pruning was replaced with clarification that LND **does**