electrs 0.11.1

An efficient re-implementation of Electrum Server in Rust
Documentation
name: electrs

on:
  push:
    branches:
      - master
  pull_request:
  schedule:
    - cron: "0 0 * * *" # once a day

jobs:
  build:
    name: Build

    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-latest]
        build-args:
          [
            --locked --no-default-features,
            --locked
          ]
        include:
          - os: ubuntu-latest
            build-args: --locked --features metrics_process

    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy

      - name: Install Rust
        run: rustup component add rustfmt clippy

      - name: Install other dependencies
        run: sudo apt install build-essential libclang-dev

      - name: Format
        run: cargo fmt --all -- --check

      - name: Build
        run: cargo build ${{ matrix.build-args }} --all

      - name: Test
        run: cargo test  ${{ matrix.build-args }} --all

      - name: Clippy
        run: cargo clippy -- -D warnings

  integration:
    name: Integration
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
      - name: Build
        run: docker build -f Dockerfile.ci . --rm -t electrs:tests
      - name: Test
        run: docker run -v $PWD/contrib/:/contrib -v $PWD/tests/:/tests --rm electrs:tests bash /tests/run.sh