stateforward-sml 1.2.0

sml.rs: a no-std Rust implementation of the sml.cpp transition-table DSL
Documentation
name: Sanitizers and fuzzing

on:
  push:
    branches: [main]
  pull_request:
  schedule:
    - cron: "17 3 * * 1"

permissions:
  contents: read

jobs:
  address-sanitizer:
    name: Address sanitizer
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@nightly
        with:
          components: rust-src
      - name: Run tests under ASan
        env:
          RUSTFLAGS: -Zsanitizer=address
          RUSTDOCFLAGS: -Zsanitizer=address
          ASAN_OPTIONS: detect_leaks=1
        run: >-
          cargo run --manifest-path sanitizer/Cargo.toml -Zbuild-std
          --target x86_64-unknown-linux-gnu

  miri:
    name: Miri
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@miri
      - name: Run runtime utility tests under Miri
        run: cargo miri test --test utility_test

  fuzz:
    name: Fuzz smoke test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@nightly
      - name: Install cargo-fuzz
        run: cargo install cargo-fuzz --locked
      - name: Fuzz runtime utilities
        run: cargo fuzz run runtime_utilities -- -max_total_time=60 -timeout=10