1- # The file template originates from: https://github.com/InsightSoftwareConsortium/ITKModuleTemplate
1+ # The file template originates from the instructions : https://github.com/InsightSoftwareConsortium/ITKModuleTemplate/README.md
22variables :
3- ITKGitTag : v5.1rc02
4- ITKPythonGitTag : v5.1rc02
3+ ITKGitTag : v5.1rc02 # Used for choosing branch of ITK to checkout
4+ ITKPythonGitTag : v5.1rc02 # Used to identify the release name for the cached python build environmeent ITKPythonBuilds-linux.tar.zst
55 CMakeBuildType : Release
66
77trigger :
@@ -19,21 +19,36 @@ jobs:
1919
2020 strategy :
2121 matrix :
22- Linux :
23- imageName : ' ubuntu-16.04'
24- cCompiler : gcc
25- cxxCompiler : g++
26- compilerInitialization : ' '
27- macOS :
28- imageName : ' macos-10.13'
29- cCompiler : clang
30- cxxCompiler : clang++
31- compilerInitialization : ' '
32- Windows :
33- imageName : ' vs2017-win2016'
34- cCompiler : cl.exe
35- cxxCompiler : cl.exe
36- compilerInitialization : ' call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"'
22+ # Linux1604:
23+ # imageName: 'ubuntu-16.04'
24+ # cCompiler: gcc
25+ # cxxCompiler: g++
26+ # compilerInitialization: ''
27+ Linux1804 :
28+ imageName : ' ubuntu-18.04'
29+ cCompiler : gcc
30+ cxxCompiler : g++
31+ compilerInitialization : ' '
32+ macOS1015 :
33+ imageName : ' macos-10.15'
34+ cCompiler : clang
35+ cxxCompiler : clang++
36+ compilerInitialization : ' '
37+ # macOS1014:
38+ # imageName: 'macos-10.14'
39+ # cCompiler: clang
40+ # cxxCompiler: clang++
41+ # compilerInitialization: ''
42+ # Windows2017:
43+ # imageName: 'vs2017-win2016'
44+ # cCompiler: cl.exe
45+ # cxxCompiler: cl.exe
46+ # compilerInitialization: 'call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"'
47+ Windows2019 :
48+ imageName : ' windows-2019'
49+ cCompiler : cl.exe
50+ cxxCompiler : cl.exe
51+ compilerInitialization : ' call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"'
3752
3853 pool :
3954 vmImage : $(imageName)
6075 displayName: 'Install build dependencies'
6176
6277 - script : |
78+ #git clone https://github.com/InsightSoftwareConsortium/ITK.git
6379 git clone --depth 5 --branch $(ITKGitTag) https://github.com/InsightSoftwareConsortium/ITK.git
80+ cd ITK
81+ git checkout $(ITKGitTag)
6482 workingDirectory: $(Agent.BuildDirectory)
6583 displayName: 'Download ITK'
6684
86104 cat > dashboard.cmake << EOF
87105 set(CTEST_SITE "Azure.\$ENV{AGENT_MACHINENAME}")
88106 file(TO_CMAKE_PATH "\$ENV{AGENT_BUILDDIRECTORY}" CTEST_DASHBOARD_ROOT)
89- file(TO_CMAKE_PATH "\$ENV{AGENT_BUILDDIRECTORY}/ITKModuleTemplate " CTEST_SOURCE_DIRECTORY)
107+ file(TO_CMAKE_PATH "\$ENV{BUILD_SOURCESDIRECTORY} " CTEST_SOURCE_DIRECTORY)
90108 file(TO_CMAKE_PATH "\$ENV{AGENT_BUILDDIRECTORY}/build" CTEST_BINARY_DIRECTORY)
91109 set(dashboard_source_name "$(Build.Repository.Name)")
92110 if(DEFINED ENV{SYSTEM_PULLREQUEST_SOURCEBRANCH})
@@ -138,7 +156,7 @@ jobs:
138156 sudo pip3 install --upgrade pip
139157 sudo pip3 install --upgrade setuptools
140158 sudo pip3 install scikit-ci-addons
141- ci_addons ctest_junit_formatter " $(Agent.BuildDirectory)/build" > " $(Agent.BuildDirectory)/JUnitTestResults.xml"
159+ ci_addons ctest_junit_formatter $(Agent.BuildDirectory)/build > $(Agent.BuildDirectory)/JUnitTestResults.xml
142160 condition: succeededOrFailed()
143161 displayName: 'Format CTest output in JUnit format'
144162
@@ -150,98 +168,95 @@ jobs:
150168 displayName : ' Publish test results'
151169
152170
153- - job : ' PackageLinux'
154- timeoutInMinutes : 0
155- cancelTimeoutInMinutes : 300
156- displayName : " Build Linux Python packages"
157- pool :
158- vmImage : ' Ubuntu-16.04'
159-
160- steps :
161- - script : |
162- curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/dockcross-manylinux-download-cache-and-build-module-wheels.sh -O
163- chmod u+x dockcross-manylinux-download-cache-and-build-module-wheels.sh
164- displayName: 'Fetch build script'
165-
166- - task : UsePythonVersion@0
167- inputs :
168- versionSpec : ' 3.7'
169- architecture : ' x64'
170-
171- - script : |
172- python -m pip install cookiecutter
173- python -m cookiecutter --no-input --output-dir $(Agent.BuildDirectory) $(Build.SourcesDirectory)
174- displayName: 'Evaluate template'
175-
176- - script : |
177- cd $(Agent.BuildDirectory)/ITKModuleTemplate
178- export ITK_PACKAGE_VERSION=$(ITKPythonGitTag)
179- $(Build.SourcesDirectory)/dockcross-manylinux-download-cache-and-build-module-wheels.sh
180- displayName: 'Build Python packages'
181-
182- - task : PublishPipelineArtifact@0
183- inputs :
184- artifactName : ' LinuxWheels'
185- targetPath : ' $(Agent.BuildDirectory)/ITKModuleTemplate/dist'
186-
187-
188- - job : ' PackageMacOS'
189- displayName : " Build macOS Python packages"
190- timeoutInMinutes : 0
191- cancelTimeoutInMinutes : 300
192- pool :
193- vmImage : ' macos-10.14'
194-
195- steps :
196- - script : |
197- curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/macpython-download-cache-and-build-module-wheels.sh -O
198- chmod u+x macpython-download-cache-and-build-module-wheels.sh
199- displayName: 'Fetch build script'
200-
201- - script : |
202- python -m pip install cookiecutter
203- python -m cookiecutter --no-input --output-dir $(Agent.BuildDirectory) $(Build.SourcesDirectory)
204- displayName: 'Evaluate template'
205-
206- - script : |
207- cd $(Agent.BuildDirectory)/ITKModuleTemplate
208- export ITK_PACKAGE_VERSION=$(ITKPythonGitTag)
209- $(Build.SourcesDirectory)/macpython-download-cache-and-build-module-wheels.sh
210- displayName: 'Build Python packages'
211-
212- - task : PublishPipelineArtifact@0
213- inputs :
214- artifactName : ' MacOSWheels'
215- targetPath : ' $(Agent.BuildDirectory)/ITKModuleTemplate/dist'
216-
217-
218- - job : ' PackageWindows'
219- displayName : " Build Windows Python packages"
220- timeoutInMinutes : 0
221- cancelTimeoutInMinutes : 300
222- pool :
223- vmImage : ' vs2017-win2016'
224-
225- steps :
226- - script : |
227- curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/windows-download-cache-and-build-module-wheels.ps1 -O
228- displayName: 'Fetch build script'
229-
230- - script : |
231- python -m pip install cookiecutter
232- python -m cookiecutter --no-input --output-dir $(Agent.BuildDirectory) $(Build.SourcesDirectory)
233- displayName: 'Evaluate template'
234-
235- - script : |
236- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
237- cd $(Agent.BuildDirectory)\ITKModuleTemplate
238- set ITK_PACKAGE_VERSION=$(ITKPythonGitTag)
239- set CC=cl.exe
240- set CXX=cl.exe
241- powershell.exe -file $(Build.SourcesDirectory)\windows-download-cache-and-build-module-wheels.ps1
242- displayName: 'Build Python packages'
243-
244- - task : PublishPipelineArtifact@0
245- inputs :
246- artifactName : ' WindowsWheels'
247- targetPath : ' $(Agent.BuildDirectory)/ITKModuleTemplate/dist'
171+ - job : ' PackageLinux'
172+ timeoutInMinutes : 0
173+ cancelTimeoutInMinutes : 300
174+ displayName : " Build Linux Python packages"
175+ pool :
176+ vmImage : ' Ubuntu-16.04'
177+
178+ steps :
179+ - script : |
180+ curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/dockcross-manylinux-download-cache-and-build-module-wheels.sh -O
181+ chmod u+x dockcross-manylinux-download-cache-and-build-module-wheels.sh
182+ displayName: 'Fetch build script'
183+
184+ - task : UsePythonVersion@0
185+ inputs :
186+ versionSpec : ' 3.7'
187+ architecture : ' x64'
188+
189+ - script : |
190+ python -m pip install cookiecutter
191+ python -m cookiecutter --no-input --output-dir $(Agent.BuildDirectory) $(Build.SourcesDirectory)
192+ displayName: 'Evaluate template'
193+
194+ - script : |
195+ export ITK_PACKAGE_VERSION=$(ITKPythonGitTag)
196+ ./dockcross-manylinux-download-cache-and-build-module-wheels.sh
197+ displayName: 'Build Python packages'
198+
199+ - task : PublishPipelineArtifact@0
200+ inputs :
201+ artifactName : ' LinuxWheels'
202+ targetPath : ' ./dist'
203+
204+
205+ - job : ' PackageMacOS'
206+ displayName : " Build macOS Python packages"
207+ timeoutInMinutes : 0
208+ cancelTimeoutInMinutes : 300
209+ pool :
210+ vmImage : ' macos-10.14'
211+
212+ steps :
213+ - script : |
214+ curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/macpython-download-cache-and-build-module-wheels.sh -O
215+ chmod u+x macpython-download-cache-and-build-module-wheels.sh
216+ displayName: 'Fetch build script'
217+
218+ - script : |
219+ python -m pip install cookiecutter
220+ python -m cookiecutter --no-input --output-dir $(Agent.BuildDirectory) $(Build.SourcesDirectory)
221+ displayName: 'Evaluate template'
222+
223+ - script : |
224+ export ITK_PACKAGE_VERSION=$(ITKPythonGitTag)
225+ ./macpython-download-cache-and-build-module-wheels.sh
226+ displayName: 'Build Python packages'
227+
228+ - task : PublishPipelineArtifact@0
229+ inputs :
230+ artifactName : ' MacOSWheels'
231+ targetPath : ' ./dist'
232+
233+
234+ - job : ' PackageWindows'
235+ displayName : " Build Windows Python packages"
236+ timeoutInMinutes : 0
237+ cancelTimeoutInMinutes : 300
238+ pool :
239+ vmImage : ' vs2017-win2016'
240+
241+ steps :
242+ - script : |
243+ curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/windows-download-cache-and-build-module-wheels.ps1 -O
244+ displayName: 'Fetch build script'
245+
246+ - script : |
247+ python -m pip install cookiecutter
248+ python -m cookiecutter --no-input --output-dir $(Agent.BuildDirectory) $(Build.SourcesDirectory)
249+ displayName: 'Evaluate template'
250+
251+ - script : |
252+ call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
253+ set ITK_PACKAGE_VERSION=$(ITKPythonGitTag)
254+ set CC=cl.exe
255+ set CXX=cl.exe
256+ powershell.exe -file .\windows-download-cache-and-build-module-wheels.ps1
257+ displayName: 'Build Python packages'
258+
259+ - task : PublishPipelineArtifact@0
260+ inputs :
261+ artifactName : ' WindowsWheels'
262+ targetPath : ' ./dist'
0 commit comments