mirror of
https://github.com/lightningd/plugins.git
synced 2026-08-17 13:07:22 +02:00
124 lines
3.7 KiB
YAML
124 lines
3.7 KiB
YAML
name: Nightly Integration Tests (master)
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "21 2 * * *"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
nightly-build-and-test:
|
|
name: Test PY=${{ matrix.python-version }}, BCD=${{ matrix.bitcoind-version }}, EXP=${{ matrix.experimental }}, DEP=${{ matrix.deprecated }}
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 90
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
bitcoind-version: ["31.0"]
|
|
experimental: [1]
|
|
deprecated: [0]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v8.1.0
|
|
with:
|
|
enable-cache: false
|
|
|
|
- name: Download Bitcoin & install binaries
|
|
run: |
|
|
export BITCOIND_VERSION=${{ matrix.bitcoind-version }}
|
|
wget https://bitcoincore.org/bin/bitcoin-core-${BITCOIND_VERSION}/bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz
|
|
tar -xzf bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz
|
|
sudo mv bitcoin-${BITCOIND_VERSION}/bin/* /usr/local/bin
|
|
rm -rf bitcoin-${BITCOIND_VERSION}-x86_64-linux-gnu.tar.gz bitcoin-${BITCOIND_VERSION}
|
|
|
|
- name: Checkout Core Lightning
|
|
uses: actions/checkout@v6
|
|
with:
|
|
repository: 'ElementsProject/lightning'
|
|
path: 'lightning'
|
|
ref: master
|
|
submodules: 'recursive'
|
|
fetch-depth: 0 # Required for pyln versions to be recognized
|
|
|
|
- name: Compile & install Core Lightning
|
|
run: |
|
|
export EXPERIMENTAL_FEATURES=${{ matrix.experimental }}
|
|
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 \
|
|
python3-mako \
|
|
zlib1g-dev \
|
|
jq \
|
|
autoconf \
|
|
automake \
|
|
libtool \
|
|
libffi-dev \
|
|
lowdown
|
|
|
|
cd lightning
|
|
pip3 install --user -U \
|
|
pip \
|
|
poetry \
|
|
poetry-plugin-export \
|
|
wheel \
|
|
blinker \
|
|
pytest-custom-exit-code==0.3.0 \
|
|
pytest-json-report
|
|
|
|
uv sync --all-extras --all-groups
|
|
|
|
./configure --disable-valgrind
|
|
uv run make -j $(nproc)
|
|
sudo -E bash -c "source $HOME/.cargo/env && rustup default stable && make install"
|
|
|
|
- name: Test with pytest
|
|
run: |
|
|
export EXPERIMENTAL_FEATURES=${{ matrix.experimental }}
|
|
export COMPAT=${{ matrix.deprecated }}
|
|
export SLOW_MACHINE=1
|
|
export TEST_DEBUG=1
|
|
export TRAVIS=1
|
|
export CLN_PATH=${{ github.workspace }}/lightning
|
|
uv run --no-project python3 .ci/test.py nightly ${{ matrix.python-version }} --update-badges
|
|
|
|
gather:
|
|
# A dummy task that depends on the full matrix of tests, and signals completion.
|
|
name: CI completion
|
|
runs-on: ubuntu-latest
|
|
if: ${{ always() }}
|
|
needs:
|
|
- nightly-build-and-test
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
submodules: recursive
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.14"
|
|
- name: Complete
|
|
run: |
|
|
python_versions='3.10 3.11 3.12 3.13 3.14'
|
|
echo "Updating badges data for nightly workflow..."
|
|
python3 .ci/update_badges.py nightly $(echo "$python_versions")
|
|
echo "CI completed."
|