services:
  unit-lint:
    build:
      context: .
      target: unit-lint
    volumes:
      - ./build:/app/build
      - ./stale_pr_review:/app/stale_pr_review
      - ./tests:/app/tests
      - ./scripts/unit-lint.sh:/app/scripts/unit-lint.sh

  # Refresh uv.lock to the latest allowed versions inside the container, so the
  # host needs no uv. The whole repo is mounted so the regenerated lockfile is
  # written back to the working tree. Run via `make lock`.
  lockfile:
    build:
      context: .
      target: base
    volumes:
      - ./:/app:cached
    entrypoint: ["uv"]
    command: ["lock", "--upgrade"]
