polyvers 0.1.1

Single-macro schema versioning for Rust: declare a struct family with #[add]/#[edit]/#[delete] mutations across versions and parse them at runtime without serde(flatten) overhead. Optional binary codecs: rkyv, bincode, postcard.
Documentation
name: Rust

on:
  push:
    branches: [main, master]
  pull_request:

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

jobs:
  test:
    name: Build & Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install stable Rust
        run: |
          rustup update stable
          rustup default stable
          rustup component add clippy rustfmt

      - name: Cache cargo
        uses: Swatinem/rust-cache@v2

      - name: Rustfmt
        run: cargo fmt --check

      - name: Build
        run: cargo build --workspace --verbose

      - name: Test
        run: cargo test --workspace --verbose

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

      - name: Doc
        run: cargo doc --workspace --no-deps