name: Code Quality Pipeline on: push: branches: - main pull_request: jobs: code-quality: runs-on: python-repositories-ci steps: - name: Checkout code uses: actions/checkout@v4 - name: Sync dependencies env: UV_LINK_MODE: copy UV_INDEX_GITEA_USERNAME: ci-bot UV_INDEX_GITEA_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }} run: uv sync --all-extras --frozen - name: Type check with mypy run: uv run mypy . - name: Ruff lint run: uv run ruff check . - name: Ruff format run: uv run ruff format --check . - name: Pyupgrade check run: uv run pyupgrade --py312-plus $(git ls-files '*.py') && git diff --exit-code - name: Prettier format run: uv run pre-commit run prettier --all-files