Skip to content

Test: Coordinator

Test: Coordinator #49

Workflow file for this run

name: "Test: Coordinator"
on:
workflow_dispatch:
workflow_call:
push:
branches: [ "main" ]
paths: ["api", "chat", "control", "robosats"]
pull_request_target:
branches: [ "main" ]
paths: ["api", "chat", "control", "robosats"]
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
max-parallel: 1
matrix:
python-version: ["3.11.6"] #, "3.12"]
ln-vendor: ["LND", "CLN"]
lnd-version: ["v0.17.0-beta"] #,"v0.17.1-beta.rc1"]
cln-version: ["v23.08.1"]
bitcoind-version: ["24.0.1-alpine"]
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Compose Regtest Orchestration'
uses: isbang/[email protected]
with:
compose-file: "./docker-tests.yml"
down-flags: "--volumes"
services: |
bitcoind
postgres
redis
coordinator-${{ matrix.ln-vendor }}
robot-lnd
env:
LND_TAG: ${{ matrix.lnd-version }}
CLN_TAG: ${{ matrix.cln-version }}
BITCOIND_TAG: ${{ matrix.bitcoind-version }}
ROBOSATS_ENVS_FILE: ".env-sample"
- name: 'Set up Python ${{ matrix.python-version }}'
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
# - name: 'Cache pip dependencies'
# uses: actions/cache@v3
# with:
# path: ~/.cache/pip
# key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-pip-dev-${{ hashFiles('**/requirements_dev.txt') }}
# restore-keys: |
# ${{ runner.os }}-pip-
- name: 'Install Python Dependencies'
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements_dev.txt
- name: 'Install LND/CLN gRPC Dependencies'
run: bash ./scripts/generate_grpc.sh
- name: 'Create .env File'
run: mv .env-sample .env
- name: 'Print CLN status'
run: |
docker logs --tail 200 coordinator-cln
sudo ls /var/lib/docker/volumes/robosats_cln/_data/regtest/
- name: 'Copy credentials'
run: |
mkdir -p ./node/cln/regtest
mkdir -p ./node/lnd/data/chain/bitcoin/regtest
sudo cp /var/lib/docker/volumes/robosats_lnd/_data/tls.cert ./node/lnd/tls.cert
sudo cp /var/lib/docker/volumes/robosats_lnd/_data/data/chain/bitcoin/regtest/admin.macaroon ./node/lnd/data/chain/bitcoin/regtest/admin.macaroon
sudo cp /var/lib/docker/volumes/robosats_cln/_data/regtest/client.pem ./node/cln/regtest/client.pem
sudo cp /var/lib/docker/volumes/robosats_cln/_data/regtest/client-key.pem ./node/cln/regtest/client-key.pem
sudo cp /var/lib/docker/volumes/robosats_cln/_data/regtest/server.pem ./node/cln/regtest/server.pem
sudo chmod -R 777 ./node/cln/regtest*.pem
sudo chmod -R 777 ./node/lnd/tls.cert
sudo chmod -R 777./node/lnd/data/chain/bitcoin/regtest/admin.macaroon
- name: 'Run tests with coverage'
run: |
coverage run manage.py test
coverage report
env:
LNVENDOR: ${{ matrix.ln-vendor }}
DEVELOPMENT: True
USE_TOR: False
MACAROON_PATH: 'data/chain/bitcoin/regtest/admin.macaroon'
CLN_DIR: './node/cln/regtest/'
LND_DIR: './node/lnd/'