railroad 0.3.7

A library to create syntax-diagrams as Scalable Vector Graphics
Documentation
name: Clippy, Format & Test

on: [pull_request, push, workflow_dispatch]

jobs:
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - run: cargo fmt --all -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - run: cargo clippy -- -D warnings
      - run: cargo clippy --features visual-debug -- -D warnings
      - run: cargo clippy --features resvg -- -D warnings

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - run: |
          cargo test
          cargo test --features visual-debug
          cargo test --features resvg
          cargo test --features resvg,visual-debug
          sudo apt-get update && sudo apt-get install -y libxml2-utils
          cargo test -- --ignored
          cargo test --features visual-debug -- --ignored
          cargo test --features resvg -- --ignored
          cargo test --features resvg,visual-debug -- --ignored

  examples:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - run: sudo apt-get update && sudo apt-get install -y fonts-dejavu-core
      - run: cargo run --example visuals
      - run: cargo run --example render --features resvg
      - uses: actions/upload-artifact@v7
        with:
          name: examples
          path: |
            examples/column_constraint.png
            examples/create_table_stmt.png
            examples/render.png
            examples/visuals.html

  semver:
    name: Semver check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - run: sudo apt update && sudo apt install -y cmake
      - uses: obi1kenobi/cargo-semver-checks-action@v2