re_cdr 0.1.0

CDR (Common Data Representation) encoding and decoding for ROS 2 / DDS messages
Documentation
# Copied from https://github.com/rerun-io/rerun_template
on:
  push:
    branches:
      - "main"
  pull_request:
    types: [opened, synchronize]

name: Rust

env:
  RUSTFLAGS: -D warnings
  RUSTDOCFLAGS: -D warnings

jobs:
  rust-check:
    name: Rust
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: rust-docs, clippy, rustfmt
          toolchain: 1.92.0

      - name: Rustfmt
        run: cargo fmt --all -- --check

      - name: check --all-features
        run: cargo check --all-features --all-targets

      - name: check default features
        run: cargo check --all-targets

      - name: check --no-default-features
        run: cargo check --no-default-features --all-targets

      - name: Test doc-tests
        run: cargo test --doc --all-features

      - name: cargo doc --lib
        run: cargo doc --lib --no-deps --all-features

      - name: cargo doc --document-private-items
        run: cargo doc --document-private-items --no-deps --all-features

      - name: Build tests
        run: cargo build --tests --all-features

      - name: Run test
        run: cargo test --all-features

      - name: Clippy
        run: cargo clippy --all-targets --all-features -- -D warnings

  # ---------------------------------------------------------------------------

  check_wasm:
    name: Check wasm32
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: 1.92.0
          target: wasm32-unknown-unknown
          components: clippy,rustfmt

      - name: Check wasm32
        run: cargo check --target wasm32-unknown-unknown --lib

      - name: Clippy wasm32
        env:
          CLIPPY_CONF_DIR: "scripts/clippy_wasm" # Use scripts/clippy_wasm/clippy.toml
        run: cargo clippy --target wasm32-unknown-unknown --lib -- -D warnings

  # ---------------------------------------------------------------------------

  cargo-deny:
    name: Check Rust dependencies (cargo-deny)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: EmbarkStudios/cargo-deny-action@v2
        with:
          rust-version: "1.92.0"
          log-level: warn
          command: check