Skip to content

ci: build on linux/mac/windows #336

ci: build on linux/mac/windows

ci: build on linux/mac/windows #336

on:
push:
branches:
- master
pull_request: {}
name: CI
jobs:
build:
strategy:
matrix:
os: ["macos-12", "ubuntu-22.04", "windows-2022"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build
test-electrs:
name: Test Electrs
runs-on: ubuntu-20.04
env:
CARGO_TERM_COLOR: always
RUST_LOG: debug
strategy:
matrix:
features:
- bitcoind_22_1,electrs_0_8_10
- bitcoind_22_1,electrs_0_9_1
- bitcoind_22_1,electrs_0_9_11
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --features ${{ matrix.features }}
test-electrs-esplora:
name: Test Electrs Esplora
runs-on: ubuntu-20.04
env:
CARGO_TERM_COLOR: always
strategy:
matrix:
features: ["bitcoind_22_1,legacy,esplora_a33e97e1"]
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --features ${{ matrix.features }}
test-electrs-no-download:
name: Test Electrs no auto-download features
runs-on: ubuntu-20.04
env:
CARGO_TERM_COLOR: always
ELECTRS_EXEC: "/home/runner/.cargo-install/electrs/bin/electrs"
steps:
- uses: dtolnay/rust-toolchain@stable
- name: Install electrs
# Automatically cache installed binaries to avoid compiling them each run
uses: baptiste0928/cargo-install@v2
with:
crate: electrs
- run: "echo $ELECTRS_EXEC"
- name: Checkout Crate
uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: cargo test --features 'bitcoind/25_0'
cosmetics:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- run: cargo fmt -- --check
- run: cargo clippy -- -D warnings