hash32 1.0.0

32-bit hashing algorithms
Documentation
on:
  push:
    branches: [main, staging, trying]
  pull_request:
    branches: [main]
  merge_group:
  workflow_dispatch:

name: Continuous integration

jobs:
  test:
    name: test
    runs-on: ubuntu-latest
    env: {"RUSTFLAGS": "-D warnings"}
    strategy:
      matrix:
        target:
          - x86_64-unknown-linux-gnu
          - i686-unknown-linux-musl
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: stable
          target: ${{ matrix.target }}
      - run: cargo test --target=${{ matrix.target }}

  style:
    name: style
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - name: cargo fmt --check
        run: cargo fmt --all -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - run: cargo clippy --all --all-targets -- --deny warnings

  rustdoc:
    name: rustdoc
    runs-on: ubuntu-latest
    env: {"RUSTDOCFLAGS": "-D warnings"}
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
      # docs.rs builds documentation with:
      # - nightly rust
      # - all features
      # - cargo rustdoc, not cargo doc
      - run: cargo +nightly rustdoc --all-features