Update dependency python to 3.14 #414
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Run Tests | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| pull_request: | |
| jobs: | |
| run-tests: | |
| name: "Test (${{matrix.os}}, Python ${{ matrix.python-version }}, ${{ matrix.architecture }})" | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-13, windows-latest, windows-11-arm] | |
| python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| architecture: [x64, x86, arm64] | |
| exclude: | |
| - os: ubuntu-latest | |
| architecture: x86 | |
| - os: ubuntu-latest | |
| architecture: arm64 | |
| - os: ubuntu-24.04-arm | |
| architecture: x86 | |
| - os: ubuntu-24.04-arm | |
| architecture: x64 | |
| - os: macos-latest | |
| architecture: x86 | |
| - os: macos-latest | |
| architecture: x64 | |
| - os: macos-13 | |
| architecture: x86 | |
| - os: macos-13 | |
| architecture: arm64 | |
| - os: windows-latest | |
| architecture: arm64 | |
| - os: windows-11-arm | |
| architecture: x64 | |
| - os: windows-11-arm | |
| architecture: x86 | |
| - os: windows-11-arm | |
| architecture: arm64 | |
| python-version: "3.9" | |
| - os: windows-11-arm | |
| architecture: arm64 | |
| python-version: "3.10" | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| architecture: ${{ matrix.architecture }} | |
| - name: Install Python requirements | |
| run: pip install --upgrade --upgrade-strategy eager .[dev] | |
| - name: Run tests | |
| run: pytest | |
| - name: Generate coverage report | |
| run: | | |
| coverage run -m pytest | |
| coverage xml | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| fail_ci_if_error: true | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| run-tests-android: | |
| name: "Test android" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| path: find_system_fonts_filename_repos | |
| - name: Download chaquo/python | |
| run: curl -O https://repo.maven.apache.org/maven2/com/chaquo/python/python/3.13.5/python-3.13.5-x86_64-linux-android.tar.gz | |
| - name: Extract chaquo/python | |
| run: | | |
| mkdir chaquo_python | |
| tar -xvzf python-3.13.5-x86_64-linux-android.tar.gz -C chaquo_python | |
| - name: Create android-site-packages | |
| run: > | |
| pip install --only-binary=:all: --platform x86_64_linux_android --target "../android-site-packages" .[dev] | |
| working-directory: find_system_fonts_filename_repos | |
| # https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/ | |
| - name: Enable KVM for Android emulator | |
| run: | | |
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
| sudo udevadm control --reload-rules | |
| sudo udevadm trigger --name-match=kvm | |
| - name: Run tests | |
| run: ./chaquo_python/android.py test --managed maxVersion --site-packages android-site-packages --cwd find_system_fonts_filename_repos -m pytest |