mirror of
https://github.com/talaia-labs/rust-teos.git
synced 2026-08-17 13:07:25 +02:00
Compiling time with rustc over 1.80.0 (inclusive) results in a crash for old versions of the time crate, which CLN uses. Make sure we are up to date with the current revision
83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
name: CI tests for CLN watchtower-plugin
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
env:
|
|
bitcoind_version: "27.0"
|
|
cln_version: "24.02.2"
|
|
|
|
jobs:
|
|
cache-cln:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.9'
|
|
check-latest: true
|
|
- uses: arduino/setup-protoc@v3
|
|
with:
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Create CLN cache
|
|
id: cache-cln
|
|
uses: actions/cache@v4
|
|
env:
|
|
cache-name: cache-cln-dev
|
|
with:
|
|
path: lightning
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-v${{ env.cln_version }}
|
|
- name: Compile CLN
|
|
env:
|
|
PYTHON_KEYRING_BACKEND: keyring.backends.null.Keyring
|
|
if: ${{ steps.cache-cln.outputs.cache-hit != 'true' }}
|
|
run: |
|
|
sudo apt-get update && sudo apt-get install -y gettext
|
|
git clone https://github.com/ElementsProject/lightning.git && cd lightning && git checkout v${{ env.cln_version }}
|
|
pip install --user poetry && poetry install
|
|
cargo update -p time
|
|
./configure && poetry run make
|
|
|
|
cln-plugin:
|
|
needs: cache-cln
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.9'
|
|
check-latest: true
|
|
- uses: arduino/setup-protoc@v3
|
|
with:
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Install bitcoind
|
|
run: |
|
|
wget https://bitcoincore.org/bin/bitcoin-core-${{ env.bitcoind_version }}/bitcoin-${{ env.bitcoind_version }}-x86_64-linux-gnu.tar.gz
|
|
tar -xzf bitcoin-${{ env.bitcoind_version }}-x86_64-linux-gnu.tar.gz
|
|
ln -s $(pwd)/bitcoin-${{ env.bitcoind_version }}/bin/bitcoin* /usr/local/bin
|
|
- name: Load CLN cache
|
|
id: cache-cln
|
|
uses: actions/cache@v4
|
|
env:
|
|
cache-name: cache-cln-dev
|
|
with:
|
|
path: lightning
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-v${{ env.cln_version }}
|
|
- name: Link CLN
|
|
run: |
|
|
cd lightning && sudo make install
|
|
- name: Install teos and the plugin
|
|
run: |
|
|
cargo install --locked --path teos
|
|
cargo install --locked --path watchtower-plugin
|
|
- name: Add test dependencies
|
|
run: |
|
|
cd watchtower-plugin/tests
|
|
pip install --user poetry && poetry install
|
|
- name: Run tests
|
|
run: |
|
|
cd watchtower-plugin/tests
|
|
VALGRIND=0 SLOW_MACHINE=1 poetry run pytest test.py --log-cli-level=INFO -s
|