strobe-rs 0.13.0

An implementation of the Strobe protocol framework in pure Rust
Documentation
name: CI

on:
  push:
    branches: ["**"]
    paths-ignore: ["README.md", "CHANGELOG.md"]
  pull_request:
    branches: ["**"]
    paths-ignore: ["README.md", "CHANGELOG.md"]

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: "-D warnings"

jobs:
  test:
    name: Test on Rust stable
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          # 32-bit big-endian target
          - target: powerpc-unknown-linux-gnu
            deps: sudo apt update && sudo apt install gcc-multilib

          # 64-bit target
          - target: x86_64-unknown-linux-gnu
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo --version
      - run: cargo test --all-features

  rustfmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          components: rustfmt

      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - run: cargo clippy --all-features -- -D warnings

  # Test no_std build-only
  build-nostd:
    name: Build on no_std target (thumbv7em-none-eabi)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          targets: thumbv7em-none-eabi
      - uses: taiki-e/install-action@cargo-hack
      # No default features build
      - name: no_std / no feat
        run: cargo build --target thumbv7em-none-eabi --release --no-default-features
      - name: no_std / cargo hack
        run: cargo hack build --target thumbv7em-none-eabi --release --each-feature --exclude-features default,kat

  msrv:
    name: rust-version is MSRV
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly
      - run: cargo +nightly install cargo-msrv --no-default-features
      - run: cargo +nightly msrv --version
      - run: cargo +nightly msrv verify --all-features

  docsrs:
    name: Check docs-rs build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@nightly
      - run: cargo doc --all-features --no-deps
        env:
          RUSTDOCFLAGS: "--cfg docsrs -D warnings"