vision-squeezer 0.7.1

LLM-native image optimization middleware & MCP server. Reduces vision model token consumption by snapping to tile boundaries.
Documentation
name: CI

on:
  push:
    branches: [main]
    paths-ignore:
      - '**.md'
      - 'docs/**'
      - 'assets/**'
      - 'LICENSE'
      - '.github/ISSUE_TEMPLATE/**'
  pull_request:
    paths-ignore:
      - '**.md'
      - 'docs/**'
      - 'assets/**'
      - 'LICENSE'
      - '.github/ISSUE_TEMPLATE/**'

# Cancel superseded runs on the same ref (PR push amends, branch force-push, etc.)
# Main-branch runs are kept (each commit on main should produce a status check).
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

env:
  CARGO_TERM_COLOR: always

jobs:
  # Single job — lint + test share the same checkout, toolchain, and cache.
  # Saves ~1 runner-minute per push vs running them as separate jobs.
  check:
    name: Lint & Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy, rustfmt
      - uses: Swatinem/rust-cache@v2
      - run: cargo fmt --check
      - run: cargo clippy -- -D warnings
      - run: cargo test --all