Skip to content

Performance improvement and simplification #68

Performance improvement and simplification

Performance improvement and simplification #68

Workflow file for this run

on: [pull_request]
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain: ["1.60.0", "1.64.0", "1.66.0", "stable", "nightly"]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- run: cargo update -p cc --precise 1.0.28
- run: cargo build --features bitcoin,sha2
if: ${{ matrix.toolchain == '1.60.0' }}
- run: cargo build --features slice_cache
if: ${{ matrix.toolchain == '1.64.0' }}
- run: cargo build --features redb
if: ${{ matrix.toolchain == '1.66.0' }}
- run: cargo build --all-features
if: ${{ matrix.toolchain == 'stable' || matrix.toolchain == 'nightly' }}
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --all-features
lints:
name: Lints
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.82.0"
components: rustfmt, clippy
- run: cargo fmt --all -- --check
- run: cargo clippy -- -D warnings
bench:
name: Bench Suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- run: cargo bench --all-features
fuzz:
name: Fuzz
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
fuzz_target: ["block", "block_header", "len", "out_point", "script", "transaction", "tx_in", "tx_ins", "tx_out", "tx_outs", "witness", "witnesses"]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz run ${{ matrix.fuzz_target }} -- -max_total_time=120