name: Lint on: push: branches: - main - master - dev pull_request: types: [opened, synchronize, reopened, ready_for_review] concurrency: group: lint-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: ruff: name: Ruff Lint & Format runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install uv uses: astral-sh/setup-uv@v4 - name: Run ruff check run: uvx ruff@0.14.14 check src/langbot/ tests/ tools/ --output-format=concise - name: Run ruff format run: uvx ruff@0.14.14 format src tools --check frontend: name: Frontend Lint runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '25' - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 9 - name: Install dependencies working-directory: web run: pnpm install - name: Run lint working-directory: web run: pnpm lint