electrum-client 0.13.0

Bitcoin Electrum client library. Supports plaintext, TLS and Onion servers.
Documentation
on: [push, pull_request]

name: CI

jobs:

  test-fmt:
    name: Test
    runs-on: ubuntu-20.04
    env:
      TEST_ELECTRUM_SERVER: electrum.blockstream.info:50001
      #TEST_ELECTRUM_SERVER: bitcoin.aranguren.org:50001
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Cache
        uses: actions/cache@v2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-cargo-${{ github.job }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
      - name: Install rustup
        run: curl https://sh.rustup.rs -sSf | sh -s -- -y
      - name: Set default toolchain
        run: $HOME/.cargo/bin/rustup default stable
      - name: Set profile
        run: $HOME/.cargo/bin/rustup set profile minimal
      - name: Fmt
        run: cargo fmt -- --check --verbose
      - name: Test
        run: cargo test --verbose --all-features
      - name: Setup iptables for the timeout test
        run: sudo ip6tables -I INPUT 1 -p tcp -d ::1 --dport 60000 -j DROP
      - name: Timeout test
        run: cargo test -- --ignored test_local_timeout
      - run: cargo check --verbose --features=use-openssl
      - run: cargo check --verbose --no-default-features --features=proxy
      - run: cargo check --verbose --no-default-features --features=minimal
      - run: cargo check --verbose --no-default-features --features=minimal,debug-calls
      - run: cargo check --verbose --no-default-features --features=proxy,use-openssl
      - run: cargo check --verbose --no-default-features --features=proxy,use-rustls