mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2024-10-01 01:45:40 -04:00
acdba8474b
some of the dependency updates are requiring a higher version of the rust toolchain. bump to 1.67 and fix new clippy lints. also fix dprint to 0.39.1 because 0.40 has breaking changes.
164 lines
4.6 KiB
YAML
164 lines
4.6 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request: # Need to run on pull-requests, otherwise PRs from forks don't run
|
|
push:
|
|
branches:
|
|
- "staging" # Bors uses this branch
|
|
- "trying" # Bors uses this branch
|
|
- "master" # Always build head of master for the badge in the README
|
|
|
|
jobs:
|
|
static_analysis:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3.5.3
|
|
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.67
|
|
components: clippy,rustfmt
|
|
|
|
- uses: Swatinem/rust-cache@v2.4.0
|
|
|
|
- name: Check formatting
|
|
uses: dprint/check@v2.2
|
|
with:
|
|
dprint-version: 0.39.1
|
|
|
|
- name: Run clippy with default features
|
|
run: cargo clippy --workspace --all-targets -- -D warnings
|
|
|
|
- name: Run clippy with all features enabled
|
|
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
|
|
bdk_test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3.5.3
|
|
|
|
- uses: Swatinem/rust-cache@v2.4.0
|
|
|
|
- name: Build swap
|
|
run: cargo build --bin swap
|
|
|
|
- name: Run BDK regression script
|
|
run: ./swap/tests/bdk.sh
|
|
|
|
sqlx_test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3.5.3
|
|
|
|
- uses: Swatinem/rust-cache@v2.4.0
|
|
|
|
- name: Install sqlx-cli
|
|
run: cargo install sqlx-cli
|
|
|
|
- name: Run sqlite_dev_setup.sh script
|
|
run: |
|
|
cd swap
|
|
./sqlite_dev_setup.sh
|
|
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- target: x86_64-unknown-linux-gnu
|
|
os: ubuntu-latest
|
|
- target: armv7-unknown-linux-gnueabihf
|
|
os: ubuntu-latest
|
|
- target: x86_64-apple-darwin
|
|
os: macos-latest
|
|
- target: x86_64-pc-windows-msvc
|
|
os: windows-latest
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3.5.3
|
|
|
|
- uses: Swatinem/rust-cache@v2.4.0
|
|
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: 1.67
|
|
targets: armv7-unknown-linux-gnueabihf
|
|
|
|
- name: Build binary
|
|
if: matrix.target != 'armv7-unknown-linux-gnueabihf'
|
|
run: cargo build -p swap --target ${{ matrix.target }}
|
|
|
|
- name: Install cross (armv7)
|
|
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
|
|
run: cargo install cross --locked
|
|
|
|
- name: Build binary (armv7)
|
|
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
|
|
run: cross build -p swap --target ${{ matrix.target }}
|
|
|
|
- name: Upload swap binary
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: swap-${{ matrix.target }}
|
|
path: target/${{ matrix.target }}/debug/swap
|
|
|
|
- name: Upload asb binary
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: asb-${{ matrix.target }}
|
|
path: target/${{ matrix.target }}/debug/asb
|
|
|
|
test:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3.5.3
|
|
|
|
- uses: Swatinem/rust-cache@v2.4.0
|
|
|
|
- name: Build tests
|
|
run: cargo build --tests --workspace --all-features
|
|
|
|
- name: Run monero-harness tests
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: cargo test --package monero-harness --all-features
|
|
|
|
- name: Run library tests for swap
|
|
run: cargo test --package swap --lib --all-features
|
|
|
|
docker_tests:
|
|
strategy:
|
|
matrix:
|
|
test_name:
|
|
[
|
|
happy_path,
|
|
happy_path_restart_bob_after_xmr_locked,
|
|
happy_path_restart_bob_before_xmr_locked,
|
|
happy_path_restart_alice_after_xmr_locked,
|
|
alice_and_bob_refund_using_cancel_and_refund_command,
|
|
alice_and_bob_refund_using_cancel_then_refund_command,
|
|
alice_and_bob_refund_using_cancel_and_refund_command_timelock_not_expired,
|
|
punish,
|
|
alice_punishes_after_restart_bob_dead,
|
|
alice_manually_punishes_after_bob_dead,
|
|
alice_refunds_after_restart_bob_refunded,
|
|
ensure_same_swap_id,
|
|
concurrent_bobs_before_xmr_lock_proof_sent,
|
|
alice_manually_redeems_after_enc_sig_learned,
|
|
]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3.5.3
|
|
|
|
- uses: Swatinem/rust-cache@v2.4.0
|
|
|
|
- name: Run test ${{ matrix.test_name }}
|
|
run: cargo test --package swap --all-features --test ${{ matrix.test_name }} -- --nocapture
|