Skip to content

ci: python version coverage#2

Open
JPHutchins wants to merge 1 commit intomainfrom
ci-python-version-coverage
Open

ci: python version coverage#2
JPHutchins wants to merge 1 commit intomainfrom
ci-python-version-coverage

Conversation

@JPHutchins
Copy link
Copy Markdown
Collaborator

Drop 3.6 and 3.7 support. Update CI with coverage for all supported versions, including those that are EOL (3.8, 3.9), and near EOL (3.10).

Wrote a script to test locally:

scripts/tests/local-matrix.sh
All requested versions already installed

========== Python 3.8 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 6.73s
========== 3.8 OK ==========

========== Python 3.9 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 5.86s
========== 3.9 OK ==========

========== Python 3.10 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 6.69s
========== 3.10 OK ==========

========== Python 3.11 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 5.88s
========== 3.11 OK ==========

========== Python 3.12 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 6.45s
========== 3.12 OK ==========

========== Python 3.13 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 6.14s
========== 3.13 OK ==========

========== Python 3.14 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 6.59s
========== 3.14 OK ==========

========== Python pypy3.9 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 13.73s
========== pypy3.9 OK ==========

========== Python pypy3.10 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 14.63s
========== pypy3.10 OK ==========

========== Python pypy3.11 ==========
....................................................................................... [ 50%]
.....................................xxxx..x.................x........................x [100%]
167 passed, 7 xfailed in 9.37s
========== pypy3.11 OK ==========

All versions passed.

Copilot AI review requested due to automatic review settings April 21, 2026 22:05
Drop 3.6 and 3.7 support. Update CI with coverage for all
supported versions, including those that are EOL (3.8, 3.9),
and near EOL (3.10).

Signed-off-by: JP Hutchins <jp@intercreate.io>
@JPHutchins JPHutchins force-pushed the ci-python-version-coverage branch from a58d6a2 to 1f291ea Compare April 21, 2026 22:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the imgtool packaging metadata and CI to reflect dropping Python 3.6/3.7 support and to exercise the test suite across a broader set of supported Python runtimes.

Changes:

  • Bump python_requires for imgtool to >=3.8.
  • Replace Python 3.10+ union-type syntax in isinstance() with a tuple form compatible with Python 3.8/3.9.
  • Expand the GitHub Actions test matrix to run across multiple CPython and PyPy versions (and update referenced action major versions).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
scripts/setup.py Raises minimum supported Python version for the package to 3.8+.
scripts/imgtool/keys/general.py Avoids X | Y union syntax so the code runs on Python 3.8/3.9.
.github/workflows/imgtool.yaml Expands CI matrix to cover multiple CPython/PyPy versions and updates action references.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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