txcript 0.9.1

Convert coding-agent session transcripts between harness formats.
Documentation
name: ci

# The quality gate: every push and PR runs the same checks the publish tags
# assume. Formatting, the full clippy deny set, tests across all features,
# the wasm32 build, and the declared MSRV.
on:
  push:
    branches: [main]
  pull_request:

permissions:
  contents: read

env:
  RUSTFLAGS: -D warnings

jobs:
  lint-test:
    name: Lint and test (stable)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy
      - uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: true
      - run: cargo fmt --all --check
      - run: cargo clippy --workspace --all-targets --all-features
      - run: cargo clippy --lib --no-default-features
      - run: cargo test --workspace --all-features

  windows:
    name: Lint and test (windows)
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: true
      - run: cargo clippy --workspace --all-targets --all-features
      - run: cargo test --workspace --all-features

  wasm:
    name: wasm32 build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@stable
        with:
          targets: wasm32-unknown-unknown
      - uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: true
      - run: cargo check --lib --target wasm32-unknown-unknown --no-default-features --features wasm
      - run: cargo check --lib --target wasm32-unknown-unknown --no-default-features --features wasm,search

  msrv:
    name: MSRV (1.96)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@1.96
      - uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: true
      - run: cargo check --workspace --all-features