feat: bolt12 support in submarine swaps #2793
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
strategy: | |
matrix: | |
platform: [ubuntu-latest] | |
node-version: [20] | |
python-version: ['3.10'] | |
rust-version: [stable] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Use Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Use Poetry | |
uses: abatilo/actions-poetry@v2 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
- name: Use Rust toolchain | |
run: rustup update ${{ matrix.rust-version }} && rustup default ${{ matrix.rust-version }} | |
- name: Install build dependencies | |
run: sudo apt-get update && sudo apt-get -y install protobuf-compiler | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Install Python dependencies | |
run: npm run python:install | |
- name: Start containers | |
run: npm run docker:regtest && npm run docker:solidity | |
- name: Deploy Ethereum contracts | |
run: npm run docker:solidity:deploy | |
- name: Install Python dependencies in regtest container | |
run: docker exec regtest bash /root/poetry-install.sh | |
- name: Compile | |
run: npm run compile | |
- name: Prettier | |
run: npm run prettier:check | |
- name: Lint | |
run: npm run lint | |
- name: Python lint | |
run: npm run python:lint | |
- name: Start hold invoice plugin | |
run: npm run docker:cln:hold | |
- name: Start mpay plugin | |
run: docker exec regtest lightning-cli plugin start /root/mpay.sh | |
- name: Unit tests | |
run: npm run test:unit | |
- name: Integration tests | |
run: node run-int.js | |
- name: Stop hold invoice plugin | |
run: docker exec regtest lightning-cli plugin stop /root/.lightning/plugins/hold | |
- name: Stop mpay plugin | |
run: docker exec regtest lightning-cli plugin stop /root/mpay.sh | |
- name: Python plugin tests | |
run: npm run python:test | |
build-rust: | |
strategy: | |
matrix: | |
platform: [ubuntu-latest] | |
node-version: [20] | |
rust-version: [stable, nightly] | |
runs-on: ${{ matrix.platform }} | |
defaults: | |
run: | |
working-directory: boltzr | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Install build dependencies | |
run: sudo apt-get update && sudo apt-get -y install protobuf-compiler | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Use Rust toolchain | |
run: rustup update ${{ matrix.rust-version }} && rustup default ${{ matrix.rust-version }} | |
- name: Install rustfmt | |
run: rustup component add rustfmt | |
- name: Install clippy | |
run: rustup component add clippy | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
- name: Install Node.js dependencies | |
run: npm ci | |
- name: Start PostgreSQL | |
run: npm run db:start | |
- name: Start containers | |
run: npm run docker:solidity | |
- name: Deploy Ethereum contracts | |
run: npm run docker:solidity:deploy | |
- name: Compile | |
run: cargo build | |
- name: Format | |
run: cargo fmt --check | |
- name: Clippy | |
run: cargo clippy | |
- name: Tests | |
run: cargo test |