Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,20 +149,21 @@ jobs:
- uses: actions/setup-python@v6
with:
# This job only needs to target the oldest supported version
python-version: "3.8"
python-version: "3.9"
cache: pip
cache-dependency-path: .github/workflows/main.yml
- run: pip install clang-format==18.1.* pycln
- run: pip install --group=checkers

# !cancelled(): Show issues even if the previous steps failed. But still fail the job
- run: pycln . --config=pycln.toml --check

- name: Run Ruff linter
uses: astral-sh/ruff-action@v3
with:
version: "0.11.0"
if: ${{ !cancelled() }}
- name: Run Ruff formatter
run: ruff format --check
if: ${{ !cancelled() }}

# Too many files to fit in a single command, also exclude vendored Scintilla and MAPIStubLibrary
- run: |
clang-format --Werror --dry-run $(git ls-files '*.cpp' ':!:com/win32comext/mapi/src/MAPIStubLibrary/')
Expand All @@ -189,13 +190,13 @@ jobs:
cache-dependency-path: .github/workflows/main.yml
check-latest: true
allow-prereleases: true
- run: pip install types-setuptools PyOpenGL mypy==1.16.*
- run: pip install --group=type-checkers

- run: mypy . --python-version=${{ matrix.python-version }}

- uses: jakebailey/pyright-action@v2
with:
python-version: ${{ matrix.python-version }}
version: "1.1.401"
version: PATH
annotate: errors
if: ${{ !cancelled() }} # Show issues even if the previous steps failed. But still fail the job
18 changes: 18 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,21 @@ requires = [
"setuptools <76.1; python_version <'3.9'",
]
build-backend = "setuptools.build_meta"

[dependency-groups]
checkers = [ # Keep these in sync with .pre-commit-config.yaml
"clang-format ==18.1.8",
"pycln ==2.4.0",
"ruff ==0.11.0",
]
type-checkers = [
"types-setuptools",
"PyOpenGL",
"mypy ==1.16.*; python_version >='3.9'",
"pyright ==1.1.401",
]
dev = [
"pre-commit",
{ include-group = "checkers" },
{ include-group = "type-checkers" },
]