chore: make virtualenv<21 pin conditional on Python < 3.10#72
Merged
jericht merged 1 commit intoaws-deadline:mainlinefrom Mar 12, 2026
Merged
Conversation
b826468 to
0ab46fb
Compare
0ab46fb to
95df02e
Compare
epmog
approved these changes
Mar 10, 2026
Use PEP 508 environment markers to only pin virtualenv<21 for Python versions less than 3.10, as virtualenv 21+ dropped Python 3.8 support. This allows Python 3.10+ to use the latest virtualenv while maintaining compatibility with Python 3.8 and 3.9. Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
95df02e to
4e160e3
Compare
seant-aws
approved these changes
Mar 11, 2026
godobyte
approved these changes
Mar 11, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was the problem/requirement? (What/Why)
The temporary pin of
virtualenv<21was applied globally to fix build issues with Python 3.8. However, this unnecessarily restricts Python 3.10+ from using the latest virtualenv versions, which have important fixes including hatch v1.16.5.What was the solution? (How)
Use PEP 508 environment markers to conditionally pin
virtualenv<21only for Python versions less than 3.10:pip install --upgrade hatch 'virtualenv<21; python_version < "3.10"'This allows:
What is the impact of this change?
Build and test workflows for Python 3.10+ will now use the latest compatible version of virtualenv instead of being pinned to versions below 21, while maintaining compatibility with Python 3.8 and 3.9.
How was this change tested?
Tested via CI workflows across all Python versions.
Was this change documented?
N/A - Workflow configuration change
Does this PR introduce new dependencies?
Is this a breaking change?
No. This maintains existing behavior for Python 3.8/3.9 while allowing newer virtualenv for Python 3.10+.
Does this change impact security?
No.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.