on: pull_request: push: branches: - mempool name: Compile Check and Lint jobs: check: name: Compile Check runs-on: mempool-ci steps: - uses: actions/checkout@v4 - name: Setup Rust uses: './.github/actions/ci-rust-setup' with: cache-name: dev - run: cargo check --all-features fmt: name: Formatter runs-on: mempool-ci steps: - uses: actions/checkout@v4 - name: Setup Rust uses: './.github/actions/ci-rust-setup' with: components: rustfmt - run: cargo fmt --all -- --check test: name: Run Tests runs-on: mempool-ci steps: - uses: actions/checkout@v4 - name: Setup Rust uses: './.github/actions/ci-rust-setup' with: cache-name: test - run: cargo test --lib --all-features compile-freebsd: runs-on: mempool-ci name: Run Compile Checks in FreeBSD env: FREEBSD_VER: "14.3" steps: - uses: actions/checkout@v4 - name: Cache dependencies for FreeBSD uses: actions/cache@v3 with: path: | .cargohome/registry .cargohome/git target key: freebsd-${{ env.FREEBSD_VER }}-cargo-checks-${{ hashFiles('**/Cargo.lock') }} - name: Compile Checks in FreeBSD uses: vmactions/freebsd-vm@v1 with: usesh: true release: "${{ env.FREEBSD_VER }}" arch: amd64 prepare: | mkdir -p ~/.cargo/ mkdir -p ./.cargohome/registry/ mkdir -p ./.cargohome/git/ mv ./.cargohome/registry ~/.cargo/ mv ./.cargohome/git ~/.cargo/ rm -rf ./.cargohome pkg install -y git rsync gmake llvm rust rocksdb run: | cargo check --no-default-features cargo check -F liquid cargo check -F electrum-discovery cargo check -F electrum-discovery,liquid cargo build --release --bin electrs rm -rf ./.cargohome mkdir -p ~/.cargo/registry/ mkdir -p ~/.cargo/git/ mkdir -p ./.cargohome/ mv ~/.cargo/registry ./.cargohome/ mv ~/.cargo/git ./.cargohome/ clippy: name: Linter runs-on: mempool-ci needs: [check] strategy: matrix: # Try all combinations of features. Some times weird things appear. features: [ '', '-F electrum-discovery', '-F liquid', '-F electrum-discovery,liquid', ] steps: - uses: actions/checkout@v4 - name: Setup Rust uses: './.github/actions/ci-rust-setup' with: cache-name: dev components: clippy - name: Clippy with Features = ${{ matrix.features }} run: cargo clippy ${{ matrix.features }} -- -D warnings