mirror of
https://github.com/aljazceru/nutshell.git
synced 2025-12-24 12:04:21 +01:00
* clean up db * db: table lock * db.table_with_schema * fix encrypt.py * postgres nowait * add timeout to lock * melt quote state in db * kinda working * kinda working with postgres * remove dispose * getting there * porperly clean up db for tests * faster tests * configure connection pooling * try github with connection pool * invoice dispatcher does not lock db * fakewallet: pay_if_regtest waits * pay fakewallet invoices * add more * faster * slower * pay_if_regtest async * do not lock the invoice dispatcher * test: do I get disk I/O errors if we disable the invoice_callback_dispatcher? * fix fake so it workss without a callback dispatchert * test on github * readd tasks * refactor * increase time for lock invoice disatcher * try avoiding a race * remove task * github actions: test regtest with postgres * mint per module * no connection pool for testing * enable pool * do not resend paid event * reuse connection * close db connections * sessions * enable debug * dispose engine * disable connection pool for tests * enable connection pool for postgres only * clean up shutdown routine * remove wait for lightning fakewallet lightning invoice * cancel invoice listener tasks on shutdown * fakewallet conftest: decrease outgoing delay * delay payment and set postgres only if needed * disable fail fast for regtest * clean up regtest.yml * change order of tests_db.py * row-specific mint_quote locking * refactor * fix lock statement * refactor swap * refactor * remove psycopg2 * add connection string example to .env.example * remove unnecessary pay * shorter sleep in test_wallet_subscription_swap
83 lines
2.8 KiB
YAML
83 lines
2.8 KiB
YAML
name: regtest
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
python-version:
|
|
default: "3.10.4"
|
|
type: string
|
|
poetry-version:
|
|
default: "1.5.1"
|
|
type: string
|
|
os-version:
|
|
default: "ubuntu-latest"
|
|
type: string
|
|
mint-database:
|
|
default: ""
|
|
type: string
|
|
backend-wallet-class:
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
regtest:
|
|
runs-on: ${{ inputs.os-version }}
|
|
timeout-minutes: 10
|
|
steps:
|
|
- name: Start PostgreSQL service
|
|
if: contains(inputs.mint-database, 'postgres')
|
|
run: |
|
|
docker run -d --name postgres -e POSTGRES_USER=cashu -e POSTGRES_PASSWORD=cashu -e POSTGRES_DB=cashu -p 5432:5432 postgres:latest
|
|
until docker exec postgres pg_isready; do sleep 1; done
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/prepare
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
poetry-version: ${{ inputs.poetry-version }}
|
|
|
|
- name: Setup Regtest
|
|
run: |
|
|
git clone https://github.com/callebtc/cashu-regtest-enviroment.git regtest
|
|
cd regtest
|
|
chmod -R 777 .
|
|
bash ./start.sh
|
|
|
|
- name: Run Tests
|
|
env:
|
|
WALLET_NAME: test_wallet
|
|
MINT_HOST: localhost
|
|
MINT_PORT: 3337
|
|
MINT_TEST_DATABASE: ${{ inputs.mint-database }}
|
|
TOR: false
|
|
MINT_BACKEND_BOLT11_SAT: ${{ inputs.backend-wallet-class }}
|
|
MINT_LNBITS_ENDPOINT: http://localhost:5001
|
|
MINT_LNBITS_KEY: d08a3313322a4514af75d488bcc27eee
|
|
MINT_LND_REST_ENDPOINT: https://localhost:8081/
|
|
MINT_LND_REST_CERT: ./regtest/data/lnd-3/tls.cert
|
|
MINT_LND_REST_MACAROON: ./regtest/data/lnd-3/data/chain/bitcoin/regtest/admin.macaroon
|
|
MINT_LND_ENABLE_MPP: true
|
|
# LND_GRPC_ENDPOINT: localhost
|
|
# LND_GRPC_PORT: 10009
|
|
# LND_GRPC_CERT: ./regtest/data/lnd-3/tls.cert
|
|
# LND_GRPC_MACAROON: ./regtest/data/lnd-3/data/chain/bitcoin/regtest/admin.macaroon
|
|
# CoreLightningRestWallet
|
|
MINT_CORELIGHTNING_REST_URL: https://localhost:3001
|
|
MINT_CORELIGHTNING_REST_MACAROON: ./regtest/data/clightning-2-rest/access.macaroon
|
|
MINT_CORELIGHTNING_REST_CERT: ./regtest/data/clightning-2-rest/certificate.pem
|
|
# CLNRestWallet
|
|
MINT_CLNREST_URL: https://localhost:3010
|
|
MINT_CLNREST_RUNE: ./regtest/data/clightning-2/rune
|
|
MINT_CLNREST_CERT: ./regtest/data/clightning-2/regtest/ca.pem
|
|
MINT_CLNREST_ENABLE_MPP: false
|
|
run: |
|
|
sudo chmod -R 777 .
|
|
make test
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
file: ./coverage.xml
|