mirror of
https://github.com/aljazceru/lspd.git
synced 2026-01-08 08:34:20 +01:00
Add GitHub Actions for Bitcoin, c-lightning, and LND setup and integration tests
- A new GitHub Actions workflow for running integration tests has been added. This workflow is defined in .github/workflows/integration_tests.yaml. - New GitHub Actions for setting up Bitcoin, c-lightning, and LND environments have been implemented. - The actions use caching for quick builds. - The .gitignore file has been updated. - LND and CLN setup and tests now run in their own individual jobs, which should improve the workflow speed. - Introduced a new reusable action for handling test states.
This commit is contained in:
123
.github/workflows/integration_tests.yaml
vendored
Normal file
123
.github/workflows/integration_tests.yaml
vendored
Normal file
@@ -0,0 +1,123 @@
|
||||
name: integration tests
|
||||
on: [push]
|
||||
env:
|
||||
BITCOIN_VERSION: '22.0'
|
||||
LSP_REF: 'breez-node-v0.16.4-beta'
|
||||
CLIENT_REF: 'v0.16.4-beta-breez'
|
||||
GO_VERSION: '^1.19'
|
||||
CLN_VERSION: 'v23.05.1'
|
||||
jobs:
|
||||
|
||||
setup-bitcoin-core:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Bitcoin Core
|
||||
if: steps.cache-bitcoin.outputs.cache-hit != 'true'
|
||||
uses: ./.github/actions/setup-bitcoin
|
||||
with:
|
||||
bitcoin-version: ${{ env.BITCOIN_VERSION }}
|
||||
|
||||
setup-lnd-lsp:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up LND LSP
|
||||
if: steps.cache-lnd-lsp.outputs.cache-hit != 'true'
|
||||
uses: ./.github/actions/setup-lnd-lsp
|
||||
with:
|
||||
lsp-ref: ${{ env.LSP_REF }}
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
setup-lnd-client:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up LND client
|
||||
if: steps.cache-lnd-client.outputs.cache-hit != 'true'
|
||||
uses: ./.github/actions/setup-lnd-client
|
||||
with:
|
||||
client-ref: ${{ env.CLIENT_REF }}
|
||||
go-version: ${{ env.GO_VERSION }}
|
||||
|
||||
setup-cln:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Core Lightning
|
||||
uses: ./.github/actions/setup-clightning
|
||||
with:
|
||||
checkout-version: ${{ env.CLN_VERSION }}
|
||||
|
||||
build-lspd:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Build LSPD and Upload Artifacts
|
||||
uses: ./.github/actions/build-lspd
|
||||
|
||||
setup-itest:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Setup itest
|
||||
uses: ./.github/actions/setup-itest
|
||||
|
||||
|
||||
run-test:
|
||||
runs-on: ubuntu-22.04
|
||||
needs:
|
||||
- setup-itest
|
||||
- setup-bitcoin-core
|
||||
- setup-lnd-client
|
||||
- setup-lnd-lsp
|
||||
- setup-cln
|
||||
- build-lspd
|
||||
name: test ${{ matrix.implementation }} ${{ matrix.test }}
|
||||
strategy:
|
||||
max-parallel: 6
|
||||
matrix:
|
||||
test: [
|
||||
testOpenZeroConfChannelOnReceive,
|
||||
testOpenZeroConfSingleHtlc,
|
||||
testZeroReserve,
|
||||
testFailureBobOffline,
|
||||
testNoBalance,
|
||||
testRegularForward,
|
||||
testProbing,
|
||||
testInvalidCltv,
|
||||
registerPaymentWithTag,
|
||||
testOpenZeroConfUtxo,
|
||||
testDynamicFeeFlow,
|
||||
testOfflineNotificationPaymentRegistered,
|
||||
testOfflineNotificationRegularForward,
|
||||
testOfflineNotificationZeroConfChannel,
|
||||
]
|
||||
implementation: [
|
||||
LND,
|
||||
CLN
|
||||
]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Run and Process Test State
|
||||
uses: ./.github/actions/test-lspd
|
||||
with:
|
||||
TESTRE: "TestLspd/${{ matrix.implementation }}-lspd:_${{ matrix.test }}"
|
||||
artifact-name: TestLspd-${{ matrix.implementation }}-lspd_${{ matrix.test }}
|
||||
bitcoin-version: ${{ env.BITCOIN_VERSION }}
|
||||
LSP_REF: ${{ env.LSP_REF }}
|
||||
CLIENT_REF: ${{ env.CLIENT_REF }}
|
||||
GO_VERSION: ${{ env.GO_VERSION }}
|
||||
CLN_VERSION: ${{ env.CLN_VERSION }}
|
||||
Reference in New Issue
Block a user