Skip to content

Commit 333ad06

Browse files
Support Python 3.14 in CI, packaging, and metadata
1 parent 819683e commit 333ad06

22 files changed

Lines changed: 96 additions & 48 deletions

.azure-pipelines/breaking-change-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ jobs:
2121
fetchDepth: 0
2222
fetchTags: true
2323
- task: UsePythonVersion@0
24-
displayName: 'Use Python 3.13'
24+
displayName: 'Use Python 3.14'
2525
inputs:
26-
versionSpec: 3.13
26+
versionSpec: '3.14'
2727
- template: ${{ variables.Pipeline.Workspace }}/.azure-pipelines/templates/azdev_setup.yml
2828
- bash: |
2929
set -ev

.azure-pipelines/macos-standalone-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ parameters:
2020
- name: PythonVersion
2121
displayName: 'Python Version (Homebrew)'
2222
type: string
23-
default: '3.13'
23+
default: '3.14'
2424

2525
# Sign/notarize parameters
2626
- name: BundleId

.azure-pipelines/templates/macos/macos-build-jobs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Usage: Can be called from main pipeline or standalone wrapper
55
#
66
# Parameters:
7-
# - PythonVersion: Homebrew Python version (default: 3.13)
7+
# - PythonVersion: Homebrew Python version (default: 3.14)
88
# - MacosArm64Image: VM image for ARM64 builds
99
# - MacosIntelImage: VM image for Intel builds
1010
# - condition: Job execution condition
@@ -17,7 +17,7 @@
1717
parameters:
1818
- name: PythonVersion
1919
type: string
20-
default: '3.13'
20+
default: '3.14'
2121
- name: MacosArm64Image
2222
type: string
2323
default: 'macos-15-arm64'

.azure-pipelines/templates/macos/macos-cask-generation-and-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ parameters:
2727
default: 'macos-15'
2828
- name: PythonVersion
2929
type: string
30-
default: '3.13'
30+
default: '3.14'
3131
- name: GitHubRepo
3232
type: string
3333
default: 'placeholder/repo'

.azure-pipelines/templates/macos/macos-publish-jobs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ parameters:
4646
default: 'macos-15'
4747
- name: PythonVersion
4848
type: string
49-
default: '3.13'
49+
default: '3.14'
5050
- name: Debug
5151
type: boolean
5252
default: false

.azure-pipelines/templates/macos/macos-sign-notarize-jobs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ parameters:
3333
default: []
3434
- name: PythonVersion
3535
type: string
36-
default: '3.13'
36+
default: '3.14'
3737
- name: MacosArm64Image
3838
type: string
3939
default: 'macos-15-arm64'

azure-pipelines-full-tests.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,37 @@ jobs:
8383
instance_idx: '$(Instance_idx)'
8484
fullTest: true
8585
jobName: 'FullTest'
86+
87+
- job: AutomationFullTestPython314ProfileLatest
88+
displayName: Automation Full Test Python314 Profile Latest
89+
timeoutInMinutes: 9999
90+
strategy:
91+
maxParallel: 8
92+
matrix:
93+
instance1:
94+
Instance_idx: 1
95+
instance2:
96+
Instance_idx: 2
97+
instance3:
98+
Instance_idx: 3
99+
instance4:
100+
Instance_idx: 4
101+
instance5:
102+
Instance_idx: 5
103+
instance6:
104+
Instance_idx: 6
105+
instance7:
106+
Instance_idx: 7
107+
instance8:
108+
Instance_idx: 8
109+
pool:
110+
name: ${{ variables.ubuntu_pool }}
111+
steps:
112+
- template: .azure-pipelines/templates/automation_test.yml
113+
parameters:
114+
pythonVersion: '3.14'
115+
profile: 'latest'
116+
instance_cnt: '8'
117+
instance_idx: '$(Instance_idx)'
118+
fullTest: true
119+
jobName: 'FullTest'

azure-pipelines.yml

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ variables:
2525

2626
# macOS Cask parameters
2727
- name: macos_cask_python_version
28-
value: '3.13'
28+
value: '3.14'
2929

3030
parameters:
3131
- name: architectures
@@ -137,9 +137,9 @@ jobs:
137137

138138
steps:
139139
- task: UsePythonVersion@0
140-
displayName: 'Use Python 3.13'
140+
displayName: 'Use Python 3.14'
141141
inputs:
142-
versionSpec: 3.13
142+
versionSpec: '3.14'
143143

144144
- bash: ./scripts/ci/dependency_check.sh
145145
displayName: 'Verify src/azure-cli/requirements.py3.Linux.txt'
@@ -152,9 +152,9 @@ jobs:
152152

153153
steps:
154154
- task: UsePythonVersion@0
155-
displayName: 'Use Python 3.13'
155+
displayName: 'Use Python 3.14'
156156
inputs:
157-
versionSpec: 3.13
157+
versionSpec: '3.14'
158158

159159
- bash: ./scripts/ci/dependency_check.sh
160160
displayName: 'Verify src/azure-cli/requirements.py3.Darwin.txt'
@@ -167,9 +167,9 @@ jobs:
167167

168168
steps:
169169
- task: UsePythonVersion@0
170-
displayName: 'Use Python 3.13'
170+
displayName: 'Use Python 3.14'
171171
inputs:
172-
versionSpec: 3.13
172+
versionSpec: '3.14'
173173

174174
- task: BatchScript@1
175175
inputs:
@@ -184,9 +184,9 @@ jobs:
184184
name: ${{ variables.ubuntu_pool }}
185185
steps:
186186
- task: UsePythonVersion@0
187-
displayName: 'Use Python 3.13'
187+
displayName: 'Use Python 3.14'
188188
inputs:
189-
versionSpec: 3.13
189+
versionSpec: '3.14'
190190
- template: .azure-pipelines/templates/azdev_setup.yml
191191
- bash: |
192192
set -ev
@@ -439,9 +439,9 @@ jobs:
439439
name: ${{ variables.ubuntu_pool }}
440440
steps:
441441
- task: UsePythonVersion@0
442-
displayName: 'Use Python 3.13'
442+
displayName: 'Use Python 3.14'
443443
inputs:
444-
versionSpec: 3.13
444+
versionSpec: '3.14'
445445

446446
- task: PipAuthenticate@1
447447
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/release')
@@ -478,6 +478,8 @@ jobs:
478478
python.version: '3.12'
479479
Python313:
480480
python.version: '3.13'
481+
Python314:
482+
python.version: '3.14'
481483
dependsOn: BuildPythonWheel
482484
condition: succeeded()
483485
pool:
@@ -518,6 +520,8 @@ jobs:
518520
python.version: '3.12'
519521
Python313:
520522
python.version: '3.13'
523+
Python314:
524+
python.version: '3.14'
521525
steps:
522526
- template: .azure-pipelines/templates/automation_test.yml
523527
parameters:
@@ -535,6 +539,8 @@ jobs:
535539
python.version: '3.12'
536540
Python313:
537541
python.version: '3.13'
542+
Python314:
543+
python.version: '3.14'
538544
steps:
539545
- template: .azure-pipelines/templates/automation_test.yml
540546
parameters:
@@ -555,6 +561,8 @@ jobs:
555561
python.version: '3.12'
556562
Python313:
557563
python.version: '3.13'
564+
Python314:
565+
python.version: '3.14'
558566
steps:
559567
- task: UsePythonVersion@0
560568
displayName: 'Use Python $(python.version)'
@@ -574,8 +582,8 @@ jobs:
574582
name: ${{ variables.ubuntu_pool }}
575583
strategy:
576584
matrix:
577-
Python313:
578-
python.version: '3.13'
585+
Python314:
586+
python.version: '3.14'
579587
steps:
580588
- task: UsePythonVersion@0
581589
displayName: 'Use Python $(python.version)'
@@ -667,7 +675,7 @@ jobs:
667675
set -ev
668676
# Force relink python@3.xx in Homebrew to resolve the conflict with pre-installed python 3.xx on macOS-12 image
669677
# See: https://github.com/Azure/azure-cli/issues/29054
670-
python_version=3.13
678+
python_version=3.14
671679
brew unlink python@$python_version && brew link --overwrite python@$python_version
672680
673681
echo == Remove pre-installed azure-cli ==
@@ -1087,9 +1095,9 @@ jobs:
10871095
name: ${{ variables.ubuntu_pool }}
10881096
steps:
10891097
- task: UsePythonVersion@0
1090-
displayName: 'Use Python 3.13'
1098+
displayName: 'Use Python 3.14'
10911099
inputs:
1092-
versionSpec: 3.13
1100+
versionSpec: '3.14'
10931101
- template: .azure-pipelines/templates/azdev_setup.yml
10941102
- bash: |
10951103
set -ev
@@ -1104,9 +1112,9 @@ jobs:
11041112
name: ${{ variables.ubuntu_multi_core_pool }}
11051113
steps:
11061114
- task: UsePythonVersion@0
1107-
displayName: 'Use Python 3.13'
1115+
displayName: 'Use Python 3.14'
11081116
inputs:
1109-
versionSpec: 3.13
1117+
versionSpec: '3.14'
11101118
- template: .azure-pipelines/templates/azdev_setup.yml
11111119
- bash: |
11121120
set -ev
@@ -1120,9 +1128,9 @@ jobs:
11201128
name: ${{ variables.ubuntu_pool }}
11211129
steps:
11221130
- task: UsePythonVersion@0
1123-
displayName: 'Use Python 3.13'
1131+
displayName: 'Use Python 3.14'
11241132
inputs:
1125-
versionSpec: 3.13
1133+
versionSpec: '3.14'
11261134
- template: .azure-pipelines/templates/azdev_setup.yml
11271135
- bash: |
11281136
set -ev
@@ -1139,6 +1147,8 @@ jobs:
11391147
python.version: '3.12'
11401148
Python313:
11411149
python.version: '3.13'
1150+
Python314:
1151+
python.version: '3.14'
11421152
pool:
11431153
name: ${{ variables.ubuntu_pool }}
11441154
steps:
@@ -1184,9 +1194,9 @@ jobs:
11841194
name: ${{ variables.ubuntu_multi_core_pool }}
11851195
steps:
11861196
- task: UsePythonVersion@0
1187-
displayName: 'Use Python 3.13'
1197+
displayName: 'Use Python 3.14'
11881198
inputs:
1189-
versionSpec: 3.13
1199+
versionSpec: '3.14'
11901200
- template: .azure-pipelines/templates/azdev_setup.yml
11911201
- bash: |
11921202
set -ev
@@ -1207,9 +1217,9 @@ jobs:
12071217
name: ${{ variables.ubuntu_pool }}
12081218
steps:
12091219
- task: UsePythonVersion@0
1210-
displayName: 'Use Python 3.13'
1220+
displayName: 'Use Python 3.14'
12111221
inputs:
1212-
versionSpec: 3.13
1222+
versionSpec: '3.14'
12131223
- template: .azure-pipelines/templates/azdev_setup.yml
12141224
- bash: |
12151225
set -ev
@@ -1242,7 +1252,7 @@ jobs:
12421252
- task: UsePythonVersion@0
12431253
displayName: 'Use Python 3.11'
12441254
inputs:
1245-
versionSpec: 3.11
1255+
versionSpec: '3.11'
12461256
- template: .azure-pipelines/templates/azdev_setup.yml
12471257
- bash: |
12481258
set -ev

build_scripts/windows/scripts/build.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if "%ARCH%"=="x86" (
3030
echo Please set ARCH to "x86" or "x64"
3131
goto ERROR
3232
)
33-
set PYTHON_VERSION=3.13.13
33+
set PYTHON_VERSION=3.14.4
3434

3535
set WIX_DOWNLOAD_URL="https://azurecliprod.blob.core.windows.net/msi/wix310-binaries-mirror.zip"
3636
set PYTHON_DOWNLOAD_URL="https://www.python.org/ftp/python/%PYTHON_VERSION%/python-%PYTHON_VERSION%-embed-%PYTHON_ARCH%.zip"

doc/command_guidelines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ Follow the [Error Handling Guidelines](https://github.com/Azure/azure-cli/blob/d
426426

427427
## Coding Practices
428428

429-
- All code must support Python 3.10 ~ 3.13
429+
- All code must support Python 3.10 ~ 3.14
430430
- PRs to Azure/azure-cli and Azure/azure-cli-extensions must pass CI
431431
- Code must pass style checks with pylint and pep8
432432
- (*) All commands should have tests

0 commit comments

Comments
 (0)