Skip to content

Commit f4679b9

Browse files
authored
Add 3.10 to Nightly Edge Build (#20623)
* update nightly edge build to run python 3.10 on both windows and linux agents * conditionally update `pytest` requirements in both ci_tools.txt and test_tools.txt for python 3.10 * conditionally add some necessary python 3.10 windows wheels to test_tools.txt. These additions only affect python 3.10, which is not currently part of the test matrix
1 parent 30b196e commit f4679b9

File tree

3 files changed

+87
-3
lines changed

3 files changed

+87
-3
lines changed

eng/ci_tools.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ json-delta==2.0
2828
ConfigArgParse==1.2.3
2929
six==1.14.0
3030
pyyaml==5.3.1
31-
pytest==5.4.2; python_version >= '3.5'
3231
pytest==4.6.9; python_version == '2.7'
32+
pytest==5.4.2; python_version >= '3.5' and python_version <= '3.9'
33+
pytest==6.2.4; python_version >= '3.10'
3334
pytest-cov==2.8.1
3435

3536
# local dev packages

eng/pipelines/templates/jobs/tests-nightly-python.yml

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,83 @@ trigger:
33

44
jobs:
55

6+
- job: Validate_RC_Python_Build_Windows
7+
displayName: Validate Release Candidate Python - Windows
8+
variables:
9+
skipComponentGovernanceDetection: true
10+
PythonVersion: '3.10.0-rc.2'
11+
12+
timeoutInMinutes: 90
13+
14+
pool:
15+
vmImage: 'windows-2019'
16+
17+
steps:
18+
- template: /eng/pipelines/templates/steps/use-python-version.yml
19+
parameters:
20+
versionSpec: $(PythonVersion)
21+
22+
- script: |
23+
python -m pip freeze
24+
python -m pip --version
25+
pip install setuptools==56.0.0 wheel==0.37.0 tox==3.24.3 tox-monorepo==0.1.2 packaging==21.0
26+
displayName: Install Dependencies
27+
28+
- script: |
29+
python ./scripts/devops_tasks/setup_execute_tests.py "$(BuildTargetingString)" --junitxml="junit/test_results.xml" --toxenv="whl"
30+
displayName: 'Setup - Run Filtered Tests For Python $(PythonVersion)'
31+
env:
32+
YARL_NO_EXTENSIONS: 1
33+
continueOnError: true
34+
35+
- task: PublishTestResults@2
36+
condition: always()
37+
inputs:
38+
testResultsFiles: '**/*test*.xml'
39+
testRunTitle: 'Python $(PythonVersion)'
40+
failTaskOnFailedTests: true
41+
42+
- job: Validate_RC_Python_Build_Linux
43+
displayName: Validate Release Candidate Python - Linux
44+
variables:
45+
skipComponentGovernanceDetection: true
46+
PythonVersion: '3.10.0-rc.2'
47+
48+
timeoutInMinutes: 90
49+
50+
pool:
51+
vmImage: 'ubuntu-18.04'
52+
53+
steps:
54+
- template: /eng/pipelines/templates/steps/use-python-version.yml
55+
parameters:
56+
versionSpec: $(PythonVersion)
57+
58+
- script: |
59+
python -m pip freeze
60+
python -m pip --version
61+
pip install setuptools==56.0.0 wheel==0.37.0 tox==3.24.3 tox-monorepo==0.1.2 packaging==21.0
62+
displayName: Install Dependencies
63+
64+
- script: |
65+
find /usr/lib -name "libffi.so*"
66+
ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/lib/x86_64-linux-gnu/libffi.so.6
67+
68+
python ./scripts/devops_tasks/setup_execute_tests.py "$(BuildTargetingString)" --junitxml="junit/test_results.xml" --toxenv="whl"
69+
displayName: 'Setup - Run Filtered Tests For Python $(PythonVersion)'
70+
env:
71+
YARL_NO_EXTENSIONS: 1
72+
continueOnError: true
73+
74+
- task: PublishTestResults@2
75+
condition: always()
76+
inputs:
77+
testResultsFiles: '**/*test*.xml'
78+
testRunTitle: 'Python $(PythonVersion)'
79+
failTaskOnFailedTests: true
80+
681
- job: Validate_Nightly_Python_Build
82+
displayName: Validate Nightly Dev Python Build
783
variables:
884
skipComponentGovernanceDetection: true
985

@@ -48,5 +124,5 @@ jobs:
48124
condition: always()
49125
inputs:
50126
testResultsFiles: '**/junit/test-results.xml'
51-
testRunTitle: '$(OSName) Python $(PythonVersion)'
127+
testRunTitle: 'Python Nightly'
52128
failTaskOnFailedTests: true

eng/test_tools.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
pip==20.3
22

3+
# manually published packages
4+
https://docsupport.blob.core.windows.net/repackaged/cffi-1.14.6-cp310-cp310-win_amd64.whl; sys_platform=='win32' and python_version >= '3.10'
5+
https://docsupport.blob.core.windows.net/repackaged/multidict-5.1.0-cp310-cp310-win_amd64.whl; sys_platform=='win32' and python_version >= '3.10'
6+
https://docsupport.blob.core.windows.net/repackaged/pywin32-301.1-cp310-cp310-win_amd64.whl; sys_platform=='win32' and python_version >= '3.10'
7+
https://docsupport.blob.core.windows.net/repackaged/yarl-1.6.3-cp310-cp310-win_amd64.whl; sys_platform=='win32' and python_version >= '3.10'
8+
39
# requirements leveraged by ci for testing
410
pytest==4.6.9; python_version == '2.7'
5-
pytest==5.4.2; python_version >= '3.5'
11+
pytest==5.4.2; python_version >= '3.5' and python_version <= '3.9'
12+
pytest==6.2.4; python_version >= '3.10'
613
pytest-asyncio==0.12.0; python_version >= '3.5'
714
pytest-cov==2.8.1
815
pytest-custom-exit-code==0.3.0

0 commit comments

Comments
 (0)