elements-miniscript 0.4.0

Elements Miniscript: Miniscript, but for elements
Documentation
on:
  push:
    branches:
      - master
  pull_request: {}

name: Continuous integration

jobs:
  lint_fuzz_stable:
    name: Lint
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Crate
        uses: actions/checkout@v2
      - name: Install hongfuzz dependancies
        run: sudo apt-get update -y && sudo apt install -y build-essential binutils-dev libunwind-dev libblocksruntime-dev liblzma-dev
      - name: Checkout Toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: 1.63.0
          override: true
      - name: Running fuzzer
        env:
          DO_LINT: true
        run: ./contrib/test.sh

  Nightly:
    name: Nightly - Bench + Docs + Fmt
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Crate
        uses: actions/checkout@v2
      - name: Checkout Toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
      - name: Running benchmarks
        env:
          DO_BENCH: true
        run: ./contrib/test.sh
      - name: Building docs
        env:
          DO_DOCS: true
        run: ./contrib/test.sh

  Int-tests:
    name: Integration tests
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Crate
        uses: actions/checkout@v2
      - name: Checkout Toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: Running integration tests
        env:
          DO_BITCOIND_TESTS: true
        run: ./contrib/test.sh

  Tests:
    name: Tests
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        rust: [stable, beta, nightly, 1.63.0]
    steps:
      - name: Checkout Crate
        uses: actions/checkout@v2
      - name: Checkout Toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust }}
          override: true
      - name: Running cargo
        env:
          DO_FEATURE_MATRIX: true
        run: ./contrib/test.sh