Skip to content

feat: add Python 3.14 support, drop Python 3.9, and refine CI workflow#552

Merged
necusjz merged 2 commits into
Azure:devfrom
aryasadeghi1:py314-compat
May 21, 2026
Merged

feat: add Python 3.14 support, drop Python 3.9, and refine CI workflow#552
necusjz merged 2 commits into
Azure:devfrom
aryasadeghi1:py314-compat

Conversation

@aryasadeghi1
Copy link
Copy Markdown
Member

Summary

This PR updates the project for Python 3.14 compatibility and improves CI efficiency.

Changes

  • Added Python 3.14 support to CI matrix
  • Adjusted supported Python version range
  • Refined CI workflow to reduce redundant OS/version combinations
  • Cleaned up compatibility validation matrix for maintainability

Testing

  • Verified CI runs on Python 3.10–3.14
  • Ensured tests pass on Ubuntu runner
  • Local virtualenv testing completed

Notes

This is part of preparing for future Python 3.14 support in Azure AAZ Dev Tools and reducing CI overhead.

@necusjz necusjz self-requested a review May 20, 2026 04:53
@aryasadeghi1
Copy link
Copy Markdown
Member Author

@microsoft-github-policy-service agree company="Microsoft"

Comment thread requirements.txt Outdated
jsonschema~=4.23.0
click~=8.1.2
setuptools==70.0.0
setuptools>=78
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

shall we keep it consistent with azdev (one the dependencies), it pins at 70.0.0. https://github.com/Azure/azure-cli-dev-tools/blob/dev/setup.py#L90

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

We could match azdev's 70.0.0 for consistency, but that would undermine Python 3.14 support for local dev. Should we keep the looser pin with a note, or align with azdev?

Thank you!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

tried pip install azdev==2.0.10 and hit the following problem,
image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I reverted this PR to setuptools==70.0.0 to stay consistent with azdev for now. However, this is not the technically long-term state for Python 3.14 support. The proper fix is to update both repos together so aaz-dev and azdev both require a modern setuptools baseline (>=78)

Thank you!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

agree with that, setuptools==70.0.0 is a temporary solution here.

we have to adapt to that now. otherwise, aaz-dev will let user install 0.2.3 azdev by default (not the latest version).

@necusjz necusjz merged commit 318896d into Azure:dev May 21, 2026
5 checks passed
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