serde_assert 0.8.0

Testing library for serde Serialize and Deserialize implementations.
Documentation
name: CI

on:
  push:
  pull_request:

permissions:
  contents: read

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - 1.56.0
          - stable
          - beta
          - nightly
      fail-fast: false
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: stable
    - run: cargo test

  no_std:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        rust:
          - 1.56.0
          - stable
          - beta
          - nightly
      fail-fast: false
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ matrix.rust }}
        targets: thumbv6m-none-eabi
    - run: cargo build --target thumbv6m-none-eabi
  
  fmt:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: rustfmt
    - run: cargo fmt -- --check

  check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@nightly
    - run: cargo check

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

  doc:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@nightly
    - run: cargo doc --no-deps
      env:
        RUSTDOCFLAGS: -D warnings

  msrv:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@nightly
    - run: curl -LsSf https://github.com/foresterre/cargo-msrv/releases/latest/download/cargo-msrv_v0.15.1_Linux_x86_64.tar | tar xf - -C ~/.cargo/bin
    - run: cargo msrv --verify
  
  codecov:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@nightly
      with:
        components: llvm-tools-preview
    - run: curl -LsSf https://github.com/taiki-e/cargo-llvm-cov/releases/latest/download/cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz | tar xzf - -C ~/.cargo/bin
    - run: cargo llvm-cov --all-features --lcov --output-path lcov.info
    - uses: codecov/codecov-action@v3
      with:
        files: lcov.info
        fail_ci_if_error: true