Skip to content

ci: upgrade Python from 3.8 to 3.10+ in CI workflows#312

Merged
Pillar1989 merged 26 commits into
devfrom
ci/upgrade-python-3.10
Jun 2, 2026
Merged

ci: upgrade Python from 3.8 to 3.10+ in CI workflows#312
Pillar1989 merged 26 commits into
devfrom
ci/upgrade-python-3.10

Conversation

@baorepo
Copy link
Copy Markdown
Member

@baorepo baorepo commented Jun 2, 2026

Summary

Python 3.8 reached EOL in October 2024. Newer package versions no longer support Python 3.8, causing all 5 current dependabot PRs to fail CI with "No matching distribution found" errors.

Changes

  • functional-test.yml: Python 3.83.10
  • code-lint.yml: Python 3.83.10
  • smoke-test.yml: Python versions 3.8/3.9/3.103.9/3.10/3.11

Impact

Once merged, the 5 blocked dependabot PRs can re-run CI and should pass (assuming the packages support Python 3.10).

dependabot Bot and others added 21 commits June 1, 2026 15:19
Updates the requirements on [scikit-learn](https://github.com/scikit-learn/scikit-learn) to permit the latest version.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](scikit-learn/scikit-learn@1.2.2...1.8.0)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-version: 1.8.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [opencv-python](https://github.com/opencv/opencv-python) to permit the latest version.
- [Release notes](https://github.com/opencv/opencv-python/releases)
- [Commits](https://github.com/opencv/opencv-python/commits)

---
updated-dependencies:
- dependency-name: opencv-python
  dependency-version: 4.13.0.92
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [tqdm](https://github.com/tqdm/tqdm) to permit the latest version.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](tqdm/tqdm@v4.65.0...v4.67.3)

---
updated-dependencies:
- dependency-name: tqdm
  dependency-version: 4.67.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [scikit-image](https://github.com/scikit-image/scikit-image) to permit the latest version.
- [Release notes](https://github.com/scikit-image/scikit-image/releases)
- [Changelog](https://github.com/scikit-image/scikit-image/blob/main/RELEASE.txt)
- [Commits](scikit-image/scikit-image@v0.20.0...v0.26.0)

---
updated-dependencies:
- dependency-name: scikit-image
  dependency-version: 0.26.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [tensorboard](https://github.com/tensorflow/tensorboard) to permit the latest version.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/master/RELEASE.md)
- [Commits](tensorflow/tensorboard@2.12.3...2.20.0)

---
updated-dependencies:
- dependency-name: tensorboard
  dependency-version: 2.20.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Python 3.8 reached EOL in October 2024. Newer package versions
(scikit-learn>=1.8, scikit-image>=0.26, tensorboard>=2.20) no longer
support Python 3.8, causing dependabot PRs to fail CI.

- functional-test: 3.8 → 3.10
- code-lint: 3.8 → 3.10
- smoke-test: 3.8/3.9/3.10 → 3.9/3.10/3.11
- code-lint: ruff >=0.5 changed 'ruff .' to 'ruff check .'
- functional-test/smoke-test: pin setuptools <70 to keep pkg_resources
  module, required by ethos-u-vela build process
Newer ruff versions introduce stricter rules that flag pre-existing
code patterns as errors. Pin to a known compatible range.
- ruff: pin to >=0.0.275,<0.1.0 to match pre-Python-3.10 behavior
  and revert to 'ruff .' command (check subcommand not in 0.0.x)
- functional-test/smoke-test: use --no-build-isolation for export.txt
  to ensure ethos-u-vela can find pkg_resources from setuptools
- Remove unused imports and variables (F401, F841)
- Constrain ethos-u-vela>=5.0.0 to prevent pip backtracking
  to old source distributions that need pkg_resources during build
- albumentations>=1.4 removed IAAAdditiveGaussianNoise class
- numpy>=2.0 incompatible with PyTorch 2.0.0
Instead of downgrading albumentations, use try/except to fall back
to GaussNoise when IAAAdditiveGaussianNoise is removed.
Yann LeCun's site (yann.lecun.com) is frequently unavailable.
Switch to the official PyTorch mirror on S3.
pnnx==20251031 removed the wrapper submodule.
convert_inputshape_to_cmd is simply converting tensor shape
to a pnnx CLI argument; inlined it directly.
pnnx>=20251031 bundles the binary directly in the package root
(accessible via pnnx.EXEC_PATH) instead of in bin/<os>/pnnx.
…scikit-learn-gte-1.8.0' into ci/upgrade-python-3.10
…opencv-python-gte-4.13.0.92' into ci/upgrade-python-3.10
…tqdm-gte-4.67.3' into ci/upgrade-python-3.10
Python 3.11 natively supports PyTorch 2.0 and all updated
dependencies (scikit-image>=0.26, scikit-learn>=1.8).
Python 3.11 may not have pre-built wheels for some packages
(e.g. albumentations), causing source builds that need
pkg_resources from setuptools.
opencv-python>=4.10 requires numpy>=2, conflicting with
PyTorch 2.0 which needs numpy<2.
The removed variables (expand_kernel, expand_stride, num_elements)
and unused imports in MobileNetv4 are intentional or tied to
commented-out code. Instead of modifying production model code,
ignore these specific lint issues via pyproject.toml.
@Pillar1989 Pillar1989 merged commit 890421d into dev Jun 2, 2026
4 checks passed
@Pillar1989 Pillar1989 deleted the ci/upgrade-python-3.10 branch June 2, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants