name: lint # Cancel in-progress runs when a new commit is pushed to the same branch/PR concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true on: push: branches: - main - stable - 'releases/**' tags: - '*' pull_request: workflow_dispatch: permissions: contents: read jobs: lint-syntax: name: syntax-errors runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - run: uv run ruff check --no-fix --select PLE lint-style: name: code-style runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - run: uv python install 3.11 - run: uv sync --dev --all-extras --python 3.11 --refresh-package browser-use-core - run: uv run --no-sync pre-commit run --all-files --show-diff-on-failure lint-typecheck: name: type-checker runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 with: enable-cache: true - run: uv sync --dev --all-extras --refresh-package browser-use-core # install extras for examples to avoid pyright missing imports errors- - run: uv run --no-sync pyright