hvm-core 0.2.26

HVM-Core is a massively parallel Interaction Combinator evaluator.
name: Checks

on:
  pull_request:
  merge_group:
  push:
    branches:
      - main

jobs:
  check:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v3
      - uses: dsherret/rust-toolchain-file@v1
      - uses: actions/cache@v2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-check-${{ hashFiles('**/Cargo.lock') }}
      - run: RUSTFLAGS="-D warnings" cargo check --all-targets
      - run: RUSTFLAGS="-D warnings" cargo check --all-targets --features trace
      - run: RUSTFLAGS="-D warnings" cargo check --all-targets --features _fuzz
      - run: RUSTFLAGS="-D warnings" cargo check --all-targets --no-default-features
  clippy:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v3
      - uses: dsherret/rust-toolchain-file@v1
      - uses: actions/cache@v2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-clippy-${{ hashFiles('**/Cargo.lock') }}
      - run: RUSTFLAGS="-D warnings" cargo clippy --all-targets
      - run: RUSTFLAGS="-D warnings" cargo clippy --all-targets --features trace
      - run: RUSTFLAGS="-D warnings" cargo clippy --all-targets --features _fuzz
      - run: RUSTFLAGS="-D warnings" cargo clippy --all-targets --no-default-features
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v3
      - uses: dsherret/rust-toolchain-file@v1
      - uses: actions/cache@v2
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
            target
          key: ${{ runner.os }}-test-${{ hashFiles('**/Cargo.lock') }}
      - run: cargo test --release
      - run: cargo test --release --features _fuzz --test fuzz
  fmt:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v3
      - uses: dsherret/rust-toolchain-file@v1
        with:
          components: rustfmt
      - run: cargo fmt --check
  cspell:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v3
      - uses: streetsidesoftware/cspell-action@v5
        with:
          incremental_files_only: false
          config: ./cspell.json
          files: |
            **/*.rs
            **/*.md