11trigger :
22 - master
33 - dev
4-
5- variables :
6- agent.preferPowerShellOnContainers : true
4+ - 1ES
75
86schedules :
97- cron : " 0 9 * * *"
@@ -14,9 +12,98 @@ schedules:
1412 always : true
1513
1614jobs :
15+ - job : Windows
16+ pool :
17+ name : Django-1ES-pool
18+ demands :
19+ - imageOverride -equals MMS2016
20+ timeoutInMinutes : 120
21+
22+ strategy :
23+ matrix :
24+ Python 3.9 - Django 3.2 :
25+ python.version : ' 3.9'
26+ tox.env : ' py39-django32'
27+ Python 3.8 - Django 3.2 :
28+ python.version : ' 3.8'
29+ tox.env : ' py38-django32'
30+ Python 3.7 - Django 3.2 :
31+ python.version : ' 3.7'
32+ tox.env : ' py37-django32'
33+ Python 3.6 - Django 3.2 :
34+ python.version : ' 3.6'
35+ tox.env : ' py36-django32'
36+
37+ Python 3.9 - Django 3.1 :
38+ python.version : ' 3.9'
39+ tox.env : ' py39-django31'
40+ Python 3.8 - Django 3.1 :
41+ python.version : ' 3.8'
42+ tox.env : ' py38-django31'
43+ Python 3.7 - Django 3.1 :
44+ python.version : ' 3.7'
45+ tox.env : ' py37-django31'
46+ Python 3.6 - Django 3.1 :
47+ python.version : ' 3.6'
48+ tox.env : ' py36-django31'
49+
50+ Python 3.9 - Django 3.0 :
51+ python.version : ' 3.9'
52+ tox.env : ' py39-django30'
53+ Python 3.8 - Django 3.0 :
54+ python.version : ' 3.8'
55+ tox.env : ' py38-django30'
56+ Python 3.7 - Django 3.0 :
57+ python.version : ' 3.7'
58+ tox.env : ' py37-django30'
59+ Python 3.6 - Django 3.0 :
60+ python.version : ' 3.6'
61+ tox.env : ' py36-django30'
62+
63+ Python 3.7 - Django 2.2 :
64+ python.version : ' 3.7'
65+ tox.env : ' py37-django22'
66+ Python 3.6 - Django 2.2 :
67+ python.version : ' 3.6'
68+ tox.env : ' py36-django22'
69+
70+ steps :
71+ - task : CredScan@2
72+ inputs :
73+ toolMajorVersion : ' V2'
74+
75+ - task : UsePythonVersion@0
76+ inputs :
77+ versionSpec : " $(python.version)"
78+ displayName : Use Python $(python.version)
79+
80+ - powershell : |
81+ $IP=Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile -IPv4Connectivity Internet | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress
82+
83+ (Get-Content $pwd/testapp/settings.py).replace('localhost', $IP) | Set-Content $pwd/testapp/settings.py
84+
85+ Invoke-WebRequest https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/en-US/17.5.2.1/x64/msodbcsql.msi -OutFile msodbcsql.msi
86+ msiexec /quiet /passive /qn /i msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES
87+ Get-OdbcDriver
88+
89+ docker pull microsoft/mssql-server-windows-developer
90+ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPassword42' -p 1433:1433 -d microsoft/mssql-server-windows-developer
91+ docker ps
92+
93+ - powershell : |
94+ python -m pip install --upgrade pip wheel setuptools
95+ python -m pip install tox
96+ git clone https://github.com/django/django.git
97+
98+ python -m tox -e $(tox.env)
99+ displayName: Run tox
100+
17101 - job : Linux
18102 pool :
19- vmImage : ubuntu-18.04
103+ name : Django-1ES-pool
104+ demands :
105+ - imageOverride -equals MMSUbuntu20.04
106+ timeoutInMinutes : 120
20107
21108 strategy :
22109 matrix :
@@ -73,10 +160,10 @@ jobs:
73160 displayName : Use Python $(python.version)
74161
75162 - script : |
76- docker pull mcr.microsoft.com/mssql/server:2017 -latest-ubuntu
77- docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPassword42' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017 -latest-ubuntu
163+ docker pull mcr.microsoft.com/mssql/server:2019 -latest
164+ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPassword42' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019 -latest
78165 curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
79- curl https://packages.microsoft.com/config/ubuntu/18 .04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
166+ curl https://packages.microsoft.com/config/ubuntu/20 .04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
80167 sudo apt-get update
81168 sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 g++ unixodbc-dev libmemcached-dev
82169 displayName: Install SQL Server
@@ -93,11 +180,11 @@ jobs:
93180 - task : PublishCodeCoverageResults@1
94181 inputs :
95182 codeCoverageTool : ' Cobertura'
96- summaryFileLocation : ' /home/vsts /coverage.xml'
183+ summaryFileLocation : ' django /coverage.xml'
97184
98185 - task : PublishTestResults@2
99186 displayName : Publish test results via jUnit
100187 inputs :
101188 testResultsFormat : ' JUnit'
102- testResultsFiles : ' /home/vsts/ result.xml'
189+ testResultsFiles : ' result.xml'
103190 testRunTitle : ' junit-$(Agent.OS)-$(Agent.OSArchitecture)-$(tox.env)'
0 commit comments