* Add Android to resource files * Add Android to miscellaneous places * Add Android documentation * Docs cleanups * Add Android platform module; implement top-level structure and target Python installation * Implement setup_env and build_wheel * lru-dict build working * Alter prefix in sysconfigdata file; fix various issues with FLAGS variables * Implement Android testing * Add type annotations to _cross_venv * Revert Python 3.8 to pip 25.0.1 * Make test-sources required on Android * Add Android integration tests * Test cleanups * Add test of all available Python versions * Update test-sources and test-command behavior to match iOS * Documentation cleanups * Replace Builder class with a set of global functions * Rename "env" to "build_env" * Remove Chaquopy repository from default pip command line * Move native_platform to platforms module * Fix parse_config_settings Co-authored-by: Joe Rickerby <joerick@mac.com> * Add unit tests for parse_config_settings and arch_synonym * Make `shell_prepared` arguments keyword-only, and add tests for the commands that use it * Replace `importlib.util.spec_from_file_location` with `runpy.run_path` * Use python-build-standalone * Update Android Python * Enable KVM in Linux CI * Move KVM code to test_android.py * Use Java 17 on Azure * Install emulator if necessary before running -accel-check * Free up additional disk space on Linux runners * Add sudo * Skip emulator tests on CI platforms that don't support it * Download Android Python from Maven Central * Free up more disk space on Linux runners * fix: minor fixups Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * Set sysconfig._BASE_PREFIX to support sysconfig.get_path("include") * Get ANDROID_API_LEVEL from the build environment, not cibuildwheel's own environment * Correct relative path of test-sources * Pass a CMake toolchain file to the build * Add "repair" step which adds libc++ to the wheel when necessary * Add missing needs_emulator decorator * Provide useful error message if ANDROID_HOME is not set * Remove use of HOST environment variable * Update to Python 3.15.5 * Fix PyLint warnings, clarify comment * Group common arguments into a dataclass * Handle environment variables containing newlines * Discourage the use of `pytest` test commands without `python -m` * Use single quotes in user-visible messages * Improve testing documentation * Pass wheel filename to `log.build_end` * In GitHub Actions example, skip Android tests on macOS * Correct relative paths in `patchelf --set-rpath` * Clarify `test-sources` docs * Update to Python 3.13.5+20250722.214220 --------- Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by: Joe Rickerby <joerick@mac.com> Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
101 lines
2.5 KiB
YAML
101 lines
2.5 KiB
YAML
repos:
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
- id: check-case-conflict
|
|
- id: check-merge-conflict
|
|
- id: check-yaml
|
|
- id: check-toml
|
|
- id: debug-statements
|
|
- id: end-of-file-fixer
|
|
exclude: (cibuildwheel/resources/pinned_docker_images.cfg)|(.svg$)
|
|
- id: mixed-line-ending
|
|
- id: trailing-whitespace
|
|
|
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
rev: v0.12.3
|
|
hooks:
|
|
- id: ruff
|
|
args: ["--fix", "--show-fixes"]
|
|
- id: ruff-format
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
rev: v1.16.1
|
|
hooks:
|
|
- id: mypy
|
|
name: mypy 3.11 on cibuildwheel/
|
|
args: ["--python-version=3.11"]
|
|
exclude: ^cibuildwheel/resources/_cross_venv.py$ # Requires Python 3.13 or later
|
|
additional_dependencies: &mypy-dependencies
|
|
- bracex
|
|
- build
|
|
- dependency-groups>=1.2
|
|
- humanize
|
|
- nox>=2025.2.9
|
|
- orjson
|
|
- packaging
|
|
- pyelftools
|
|
- pygithub
|
|
- pytest
|
|
- rich
|
|
- tomli_w
|
|
- types-certifi
|
|
- types-click
|
|
- types-jinja2
|
|
- types-pyyaml
|
|
- types-requests
|
|
- types-setuptools
|
|
- uv
|
|
- validate-pyproject
|
|
- id: mypy
|
|
name: mypy 3.13
|
|
args: ["--python-version=3.13"]
|
|
additional_dependencies: *mypy-dependencies
|
|
|
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
rev: v0.10.0.1
|
|
hooks:
|
|
- id: shellcheck
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: disallow-caps
|
|
name: Disallow improper capitalization
|
|
language: pygrep
|
|
entry: PyBind|Numpy|Cmake|Github|PyTest
|
|
types: [markdown]
|
|
exclude: ^docs/working-examples\.md$ # Autogenerated
|
|
- id: cog
|
|
name: Cog the README
|
|
language: python
|
|
pass_filenames: false
|
|
entry: cog -c -P -r -I ./bin README.md
|
|
files: '^(README\.md|docs/changelog\.md|docs/options\.md|bin/readme.*)$'
|
|
additional_dependencies: [cogapp>=3.5]
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: v2.4.1
|
|
hooks:
|
|
- id: codespell
|
|
args: ["-w"]
|
|
exclude: ^docs/working-examples\.md$ # Autogenerated
|
|
|
|
|
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
rev: 0.33.2
|
|
hooks:
|
|
- id: check-dependabot
|
|
- id: check-github-actions
|
|
- id: check-github-workflows
|
|
- id: check-gitlab-ci
|
|
# Disabled due to schema issue for now:
|
|
# - id: check-readthedocs
|
|
- id: check-travis
|
|
- id: check-jsonschema
|
|
name: Check projects
|
|
args: [--schemafile, docs/data/projects.schema.json]
|
|
files: '^docs/data/projects.yml$'
|
|
- id: check-metaschema
|
|
files: '^docs/data/projects.schema.json$'
|