svg2pdf 0.13.0

Convert SVG files to PDFs.
Documentation
name: Continuous integration
on: [push, pull_request]

env:
  RUSTFLAGS: "-Dwarnings"
  RUSTDOCFLAGS: "-Dwarnings"

jobs:
  tests:
    name: Tests
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Get Rust toolchain
        uses: dtolnay/rust-toolchain@stable

      - name: Get Rust cache
        uses: Swatinem/rust-cache@v2

      - name: Get pdfium
        run: |
          curl -LO https://github.com/bblanchon/pdfium-binaries/releases/download/chromium%2F5880/pdfium-linux-x64.tgz
          mkdir pdfium-linux-x64
          tar -xvzf ./pdfium-linux-x64.tgz -C pdfium-linux-x64
          mv ./pdfium-linux-x64/lib/libpdfium.so ./tests/pdfium

      - name: Build svg2pdf
        run: cargo build --all

      - name: Run tests
        id: tests
        run: cargo test --workspace

      - name: Upload artifacts
        if: failure()
        uses: actions/upload-artifact@v4
        with:
          path: ./tests/diff

  checks:
    name: Check clippy, formatting, and documentation
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - uses: taiki-e/install-action@cargo-hack
      - run: cargo clippy --all-targets
      - run: cargo fmt --check --all
      - run: cargo doc --workspace --no-deps
      - run: cargo hack check --each-feature -p svg2pdf
      - run: cargo hack check --each-feature -p svg2pdf-cli