mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2024-06-25 22:22:25 +00:00
8d76607343
1. Split up image::Monero into Monerod and MoneroWalletRpc 2. Don't use `bash` to run the internal command. Instead we disable the entrypoint script as per https://github.com/XMRto/monero#raw-commands 3. Remove the start up delay by listening for the correct log message. To make this more resilient, we make the log level NOT configurable and instead always log verbosely.
134 lines
3.9 KiB
YAML
134 lines
3.9 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@v2
|
|
|
|
- uses: Swatinem/rust-cache@v1.2.0
|
|
id: cache
|
|
|
|
- name: Install tomlfmt
|
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
run: cargo install cargo-tomlfmt
|
|
|
|
- name: Check Cargo.toml formatting
|
|
run: |
|
|
cargo tomlfmt -d -p Cargo.toml
|
|
cargo tomlfmt -d -p monero-harness/Cargo.toml
|
|
cargo tomlfmt -d -p swap/Cargo.toml
|
|
|
|
- name: Check code formatting
|
|
run: cargo fmt --all -- --check
|
|
|
|
- name: Check markdown formatting
|
|
uses: dprint/check@v1.3
|
|
|
|
- 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
|
|
|
|
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@v2
|
|
|
|
- uses: Swatinem/rust-cache@v1.2.0
|
|
|
|
- name: Install compiler for armhf arch
|
|
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install gcc-arm-linux-gnueabihf
|
|
|
|
- name: Build binary
|
|
run: |
|
|
cargo build -p swap --target ${{ matrix.target }}
|
|
|
|
- name: Upload swap binary
|
|
uses: actions/upload-artifact@v2-preview
|
|
with:
|
|
name: swap-${{ matrix.target }}
|
|
path: target/${{ matrix.target }}/debug/swap
|
|
|
|
- name: Upload asb binary
|
|
uses: actions/upload-artifact@v2-preview
|
|
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@v2
|
|
|
|
- uses: Swatinem/rust-cache@v1.2.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,
|
|
bob_refunds_using_cancel_and_refund_command,
|
|
bob_refunds_using_cancel_and_refund_command_timelock_not_expired,
|
|
bob_refunds_using_cancel_and_refund_command_timelock_not_expired_force,
|
|
punish,
|
|
alice_punishes_after_restart_punish_timelock_expired,
|
|
alice_refunds_after_restart_bob_refunded,
|
|
ensure_same_swap_id,
|
|
concurrent_bobs_after_xmr_lock_proof_sent,
|
|
concurrent_bobs_before_xmr_lock_proof_sent
|
|
]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: Swatinem/rust-cache@v1.2.0
|
|
|
|
- name: Run test ${{ matrix.test_name }}
|
|
run: cargo test --package swap --all-features --test ${{ matrix.test_name }} ""
|