Skip to content

Enforce configured routing policy on channel open #506

Enforce configured routing policy on channel open

Enforce configured routing policy on channel open #506

name: integration tests
on:
push:
branches: [ master ]
pull_request:
env:
BITCOIN_VERSION: '25.0'
LSP_REF: 'breez-node-v0.18.3-beta'
CLIENT_REF: 'v0.17.5-breez-3'
GO_VERSION: '^1.21.4'
CLN_VERSION: 'v24.05'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
setup-bitcoin-core:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Bitcoin Core
uses: ./.github/actions/setup-bitcoin
with:
bitcoin-version: ${{ env.BITCOIN_VERSION }}
setup-lnd-lsp:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up LND LSP
uses: ./.github/actions/setup-lnd-lsp
with:
lsp-ref: ${{ env.LSP_REF }}
go-version: ${{ env.GO_VERSION }}
setup-lnd-client:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up LND client
uses: ./.github/actions/setup-lnd-client
with:
client-ref: ${{ env.CLIENT_REF }}
go-version: ${{ env.GO_VERSION }}
setup-cln:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Core Lightning
uses: ./.github/actions/setup-clightning
with:
checkout-version: ${{ env.CLN_VERSION }}
build-lspd:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build LSPD and Upload Artifacts
uses: ./.github/actions/build-lspd
setup-itest:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup itest
uses: ./.github/actions/setup-itest
run-test:
runs-on: ubuntu-latest
needs:
- setup-itest
- setup-bitcoin-core
- setup-lnd-client
- setup-lnd-lsp
- setup-cln
- build-lspd
name: test ${{ matrix.lsp }}-lsp ${{ matrix.client }}-client ${{ matrix.test }}
strategy:
max-parallel: 4
matrix:
test: [
testRestartLspNode,
testOpenZeroConfChannelOnReceive,
testOpenZeroConfSingleHtlc,
testZeroReserve,
testFailureBobOffline,
testNoBalance,
testRegularForward,
testProbing,
testInvalidCltv,
registerPaymentWithTag,
testOpenZeroConfUtxo,
testDynamicFeeFlow,
testOfflineNotificationPaymentRegistered,
testOfflineNotificationRegularForward,
testOfflineNotificationZeroConfChannel,
]
lsp: [
LND,
CLN
]
client: [
LND,
CLN
]
exclude:
- lsp: CLN
client: LND
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run and Process Test State
uses: ./.github/actions/test-lspd
with:
TESTRE: "TestLspd/${{ matrix.lsp }}-lsp-${{ matrix.client}}-client:_${{ matrix.test }}"
artifact-name: TestLspd-${{ matrix.lsp }}-lsp-${{ matrix.client}}-client_${{ 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 }}
timeout: 6m
run-lsps2-test:
runs-on: ubuntu-latest
needs:
- setup-itest
- setup-bitcoin-core
- setup-cln
- build-lspd
name: ${{ matrix.lsp }}-lsp ${{ matrix.client }}-client ${{ matrix.test }}
strategy:
max-parallel: 4
matrix:
test: [
testLsps0GetProtocolVersions,
testLsps2GetVersions,
testLsps2GetInfo,
testLsps2Buy,
testLsps2HappyFlow,
testLsps2NoBalance,
testLsps2ZeroConfUtxo
]
lsp: [
CLN
]
client: [
CLN
]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run and Process Test State
uses: ./.github/actions/test-lspd
with:
TESTRE: "TestLspd/${{ matrix.lsp }}-lsp-${{ matrix.client}}-client:_${{ matrix.test }}"
artifact-name: TestLspd-${{ matrix.lsp }}-lsp-${{ matrix.client}}-client_${{ 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 }}
timeout: 6m
run-unit-tests:
runs-on: ubuntu-latest
name: Run unit tests
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies
run: |
go get github.com/breez/lspd/cmd/lspd
go get github.com/breez/lspd/cmd/lspd_cln_plugin
go get github.com/breez/lspd/itest
- name: Test
run: go test -short `go list ./... | grep -v /itest`