Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions azure-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ jobs:
name: 'pool-ubuntu-latest-multi-core'
strategy:
matrix:
Python39:
python.version: '3.9'
tox_env: 'py39'
Python310:
python.version: '3.10'
tox_env: 'py310'
Expand All @@ -35,6 +32,9 @@ jobs:
Python313:
python.version: '3.13'
tox_env: 'py313'
Python314:
python.version: '3.14'
tox_env: 'py314'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python $(python.version)'
Expand All @@ -57,7 +57,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: 3.13
versionSpec: '3.14'
Copy link
Copy Markdown
Member Author

@jiasli jiasli Apr 1, 2026

Choose a reason for hiding this comment

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

Quote the version number according to #296 (comment).

Unquoted 3.10 did appear before in #254, but it didn't cause any issue. Here is the explanation from Copilot:


You're right — that commit does show versionSpec: 3.10 unquoted. So the question is valid: why didn't that break?

The answer is that Azure Pipelines doesn't use a strict YAML 1.1 parser. Azure Pipelines uses a custom YAML parser that treats values like 3.10 as strings, not floats. So 3.10 is not silently truncated to 3.1.

This is different from standard YAML 1.1 (used by tools like PyYAML), where 3.10 would indeed be parsed as the float 3.1. But Azure Pipelines specifically handles version-like values as strings to avoid this exact pitfall.

So the Copilot review comment is technically correct in general YAML terms (quoting is best practice and safer), but practically incorrect — it wouldn't actually cause an issue in Azure Pipelines. The existing unquoted 3.10 worked fine for the same reason: Azure Pipelines doesn't apply float coercion to these values.

That said, quoting is still good hygiene for portability and clarity.

- bash: |
set -ev

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@
'Intended Audience :: System Administrators',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14',
'License :: OSI Approved :: MIT License',
],
packages=['knack', 'knack.testsdk'],
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py39,py310,py311,py312,py313
envlist = py310,py311,py312,py313,py314
[testenv]
deps = -rrequirements.txt
commands=
Expand Down