pg_walstream 0.7.0

PostgreSQL logical replication protocol library - parse and handle PostgreSQL WAL streaming messages
Documentation
name: CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ "*" ]

env:
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1

jobs:
  checks:
    name: Checks
    uses: ./.github/workflows/ci-checks.yml
    secrets: inherit

  no_std:
    name: no_std builds (host, wasm, bare-metal)
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4

    - name: Install Rust
      uses: dtolnay/rust-toolchain@stable
      with:
        targets: wasm32-unknown-unknown, aarch64-unknown-none

    - name: Build no_std (alloc) on the host
      run: cargo build --no-default-features

    - name: Build no_std (alloc) for wasm32-unknown-unknown
      run: cargo build --no-default-features --target wasm32-unknown-unknown

    - name: Build no_std (alloc) for aarch64-unknown-none (bare-metal)
      run: cargo build --no-default-features --lib --target aarch64-unknown-none

    - name: Clippy no_std (alloc)
      run: cargo clippy --no-default-features --lib -- -D warnings

  security:
    name: Security Audit
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@stable
    - name: Install cargo-audit
      run: cargo install cargo-audit
    - name: Run security audit
      run: cargo audit

  docs:
    name: Documentation
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: dtolnay/rust-toolchain@stable

    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y libpq-dev pkg-config libssl-dev

    - name: Build documentation
      run: cargo doc --no-deps --all-features
      env:
        RUSTDOCFLAGS: "-D warnings"