* 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>
78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
pr:
|
|
paths:
|
|
exclude:
|
|
- .github/**
|
|
- bin/*
|
|
- docs/**
|
|
- examples/github-*
|
|
- examples/ci*
|
|
- examples/travis-ci-*
|
|
- .ci*
|
|
- .pre-commit-config.yaml
|
|
- .readthedocs.yml
|
|
- .travis.yml
|
|
- README.md
|
|
- mkdocs.yml
|
|
- noxfile.py
|
|
|
|
jobs:
|
|
- job: linux_311
|
|
timeoutInMinutes: 180
|
|
pool: {vmImage: 'ubuntu-latest'}
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '3.11'
|
|
- task: JavaToolInstaller@0
|
|
inputs:
|
|
versionSpec: '17'
|
|
jdkArchitectureOption: 'x64'
|
|
jdkSourceOption: 'PreInstalled'
|
|
- bash: |
|
|
docker run --rm --privileged docker.io/tonistiigi/binfmt:latest --install all
|
|
python -m pip install -U pip
|
|
python -m pip install -e. --group test
|
|
if [ "$(Build.SourceBranch)" = "refs/heads/main" ]; then
|
|
echo "INFO: Exporting CIBW_ENABLE=all for main branch test run."
|
|
export CIBW_ENABLE=all
|
|
else
|
|
echo "INFO: CIBW_ENABLE not set for this branch ($(Build.SourceBranch))."
|
|
fi
|
|
python ./bin/run_tests.py
|
|
|
|
- job: macos_311
|
|
pool: {vmImage: 'macOS-latest'}
|
|
timeoutInMinutes: 120
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '3.11'
|
|
- bash: |
|
|
python -m pip install -U pip
|
|
python -m pip install -e. --group test
|
|
if [ "$(Build.SourceBranch)" = "refs/heads/main" ]; then
|
|
echo "INFO: Exporting CIBW_ENABLE=all for main branch test run."
|
|
export CIBW_ENABLE=all
|
|
else
|
|
echo "INFO: CIBW_ENABLE not set for this branch ($(Build.SourceBranch))."
|
|
fi
|
|
python ./bin/run_tests.py
|
|
|
|
- job: windows_311
|
|
pool: {vmImage: 'windows-latest'}
|
|
timeoutInMinutes: 180
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '3.11'
|
|
- bash: |
|
|
python -m pip install -U pip
|
|
python -m pip install -e. --group test
|
|
if [ "$(Build.SourceBranch)" = "refs/heads/main" ]; then
|
|
echo "INFO: Exporting CIBW_ENABLE=all for main branch test run."
|
|
export CIBW_ENABLE=all
|
|
else
|
|
echo "INFO: CIBW_ENABLE not set for this branch ($(Build.SourceBranch))."
|
|
fi
|
|
python ./bin/run_tests.py
|