diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2a072dbe..32477390 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,9 +46,7 @@ jobs: - name: Run clippy with all features enabled run: cargo clippy --workspace --all-targets --all-features -- -D warnings - build_test: - env: - RUST_TEST_TASKS: 2 + build: strategy: matrix: target: [ x86_64-unknown-linux-gnu, x86_64-apple-darwin ] @@ -74,7 +72,7 @@ jobs: if: matrix.os == 'ubuntu-latest' with: path: target - key: rust-${{ matrix.target }}-target-directory-${{ hashFiles('Cargo.lock') }}-v1 + key: rust-${{ matrix.target }}-target-directory-build-${{ hashFiles('Cargo.lock') }}-v1 - name: Cache ~/.cargo/registry directory uses: actions/cache@v1 @@ -82,22 +80,6 @@ jobs: path: ~/.cargo/registry key: rust-${{ matrix.target }}-cargo-registry-directory-${{ hashFiles('Cargo.lock') }}-v1 - - name: Cargo check release code with default features - run: cargo check --workspace - - - name: Cargo check all features - run: cargo check --workspace --all-targets --all-features - - - 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 - - name: Build binary run: | cargo build -p swap --target ${{ matrix.target }} @@ -114,6 +96,52 @@ jobs: name: nectar-${{ matrix.target }} path: target/${{ matrix.target }}/debug/nectar + test: + env: + RUST_TEST_TASKS: 2 + strategy: + matrix: + target: [ x86_64-unknown-linux-gnu, x86_64-apple-darwin ] + include: + - target: x86_64-unknown-linux-gnu + os: ubuntu-latest + - target: x86_64-apple-darwin + os: macos-latest + runs-on: ${{ matrix.os }} + steps: + + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + override: true + + - name: Cache target directory + uses: actions/cache@v1 + if: matrix.os == 'ubuntu-latest' + with: + path: target + key: rust-${{ matrix.target }}-target-directory-test-${{ hashFiles('Cargo.lock') }}-v1 + + - name: Cache ~/.cargo/registry directory + uses: actions/cache@v1 + with: + path: ~/.cargo/registry + key: rust-${{ matrix.target }}-cargo-registry-directory-${{ hashFiles('Cargo.lock') }}-v1 + + - 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: env: TARGET: x86_64-unknown-linux-gnu @@ -142,7 +170,7 @@ jobs: uses: actions/cache@v1 with: path: target - key: rust-${{ env.TARGET }}-target-directory-${{ hashFiles('Cargo.lock') }}-v1 + key: rust-${{ matrix.target }}-target-directory-test-${{ hashFiles('Cargo.lock') }}-v1 - name: Cache ~/.cargo/registry directory uses: actions/cache@v1 diff --git a/bors.toml b/bors.toml index fcb4f9eb..8f1b1ab7 100644 --- a/bors.toml +++ b/bors.toml @@ -1,7 +1,9 @@ status = [ "static_analysis", - "build_test (x86_64-unknown-linux-gnu)", - "build_test (x86_64-apple-darwin)", + "build (x86_64-unknown-linux-gnu)", + "build (x86_64-apple-darwin)", + "test (x86_64-unknown-linux-gnu)", + "test (x86_64-apple-darwin)", "docker_tests (happy_path)", "docker_tests (happy_path_restart_bob_before_comm)", "docker_tests (bob_refunds_using_cancel_and_refund_command)",