mirror of
https://github.com/aljazceru/plugins.git
synced 2025-12-24 08:34:18 +01:00
113 lines
3.3 KiB
YAML
113 lines
3.3 KiB
YAML
name: Integration Tests
|
|
|
|
# Cancel duplicate jobs
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
|
|
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: 60
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: [3.7, 3.8, 3.9]
|
|
developer: [0,1]
|
|
experimental: [1]
|
|
deprecated: [0]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Checkout c-lightning@master
|
|
uses: actions/checkout@v3
|
|
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 \
|
|
protobuf-compiler \
|
|
python3 \
|
|
python3-pip \
|
|
zlib1g-dev
|
|
|
|
cd lightning
|
|
pip3 install --user -U \
|
|
pip \
|
|
poetry \
|
|
wheel \
|
|
blinker \
|
|
pytest-custom-exit-code==0.3.0 \
|
|
pytest-json-report
|
|
|
|
poetry install
|
|
poetry update
|
|
poetry export --without-hashes -f requirements.txt --output requirements.txt
|
|
pip install --user -U -r requirements.txt
|
|
pip install --user contrib/pyln-client contrib/pyln-testing flaky
|
|
|
|
./configure --disable-valgrind
|
|
make -j 16
|
|
sudo make install
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v3
|
|
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
|
|
export CLN_PATH=${{ github.workspace }}/lightning
|
|
pip3 install --user -U virtualenv pip > /dev/null
|
|
python3 .ci/test.py
|
|
|
|
gather:
|
|
# A dummy task that depends on the full matrix of tests, and
|
|
# signals successful completion. Used for the PR status to pass
|
|
# before merging.
|
|
name: CI completion
|
|
runs-on: ubuntu-20.04
|
|
needs:
|
|
- build-and-test
|
|
steps:
|
|
- name: Complete
|
|
run: |
|
|
echo CI completed successfully
|