name: Integration Tests on: push: pull_request: branches: [ master ] schedule: # Schedule a test once a day so we check compatibility with the # upstream c-lightning master - cron: '0 17 * * *' jobs: build-and-test: name: Test PY=${{ matrix.python-version }}, DEV=${{ matrix.developer }}, EXP=${{ matrix.experimental }}, DEP=${{ matrix.deprecated }} runs-on: ubuntu-latest timeout-minutes: 45 strategy: fail-fast: false matrix: python-version: [3.7, 3.8, 3.9] developer: [0,1] experimental: [1] deprecated: [0] steps: - uses: actions/checkout@v2 - name: Checkout c-lightning@master uses: actions/checkout@v2 with: repository: 'ElementsProject/lightning' path: 'lightning' ref: 'master' submodules: 'recursive' fetch-depth: 0 # Required for pyln versions to be recognized - name: Download runtime dependencies run: | export BITCOIND_VERSION="0.20.1" wget https://storage.googleapis.com/c-lightning-tests/bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.bz2 tar -xjf bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.bz2 sudo mv bitcoin-${BITCOIND_VERSION}/bin/* /usr/local/bin rm -rf bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz bitcoin-${BITCOIND_VERSION} - name: Compile & install c-lightning@master run: | export EXPERIMENTAL_FEATURES=${{ matrix.experimental }} export DEVELOPER=${{ matrix.developer }} export COMPAT=${{ matrix.deprecated }} export VALGRIND=0 sudo apt-get install -y \ build-essential \ gettext \ libpq-dev \ libsodium-dev \ libsqlite3-dev \ net-tools \ postgresql \ python \ python3 \ python3-pip \ zlib1g-dev cd lightning pip3 install --user -U \ pip \ wheel \ blinker \ pytest-custom-exit-code==0.3.0 \ pytest-json-report pip install --user -U -r requirements.lock --use-feature=in-tree-build ./configure --disable-valgrind make -j 16 sudo make install - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Test with pytest run: | export EXPERIMENTAL_FEATURES=${{ matrix.experimental }} export DEVELOPER=${{ matrix.developer }} export COMPAT=${{ matrix.deprecated }} export SLOW_MACHINE=1 export TEST_DEBUG=1 export TRAVIS=1 pip3 install -U virtualenv pip > /dev/null python3 .ci/test.py