@@ -34,11 +34,11 @@ variables:
3434 CCACHE_NOHASHDIR : ' true'
3535 CCACHE_SLOPPINESS : pch_defines,time_macros
3636jobs :
37- - job : Linux
37+ - job : LinuxLegacyRemovedCxx20
3838 timeoutInMinutes : 0
3939 cancelTimeoutInMinutes : 300
4040 pool :
41- vmImage : ubuntu-22 .04
41+ vmImage : ubuntu-24 .04
4242 steps :
4343 - checkout : self
4444 clean : true
8080
8181 - task : Cache@2
8282 inputs :
83- key : ' "ccache-v4" | "$(Agent.OS)" | "Linux " | "$(Build.SourceVersion)"'
83+ key : ' "ccache-v4" | "$(Agent.OS)" | "LinuxLegacyRemovedCxx20 " | "$(Build.SourceVersion)"'
8484 restoreKeys : |
85- "ccache-v4" | "$(Agent.OS)" | "Linux "
85+ "ccache-v4" | "$(Agent.OS)" | "LinuxLegacyRemovedCxx20 "
8686 path : $(CCACHE_DIR)
8787 displayName : ' Restore ccache'
8888
@@ -97,116 +97,13 @@ jobs:
9797 cat > dashboard.cmake << EOF
9898 set(CTEST_BUILD_CONFIGURATION "MinSizeRel")
9999 set(CTEST_CMAKE_GENERATOR "Ninja")
100- set(dashboard_cache "
101- BUILD_SHARED_LIBS:BOOL=OFF
102- BUILD_EXAMPLES:BOOL=OFF
103- ITK_WRAP_PYTHON:BOOL=OFF
104- CMAKE_C_COMPILER_LAUNCHER:STRING=ccache
105- CMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache
106- ITK_COMPUTER_MEMORY_SIZE:STRING=4.5
107- ")
108- set(CTEST_TEST_ARGS EXCLUDE_LABEL BigIO) # Disabled to conserve disk space
109- include(\$ENV{AGENT_BUILDDIRECTORY}/ITK-dashboard/azure_dashboard.cmake)
110- EOF
111- cat dashboard.cmake
112- workingDirectory: $(Agent.BuildDirectory)/ITK-dashboard
113- displayName: 'Configure CTest script'
114-
115- - bash : |
116- set -x
117-
118- c++ --version
119- cmake --version
120-
121- ctest -S $(Agent.BuildDirectory)/ITK-dashboard/dashboard.cmake -V -j 2
122- displayName: 'Build and test'
123- env:
124- CTEST_OUTPUT_ON_FAILURE: 1
125- CCACHE_MAXSIZE: 2.4G
126-
127- - bash : ccache --show-stats
128- condition : always()
129- displayName : ' ccache stats'
130-
131- - bash : python3 $(Build.SourcesDirectory)/Testing/ContinuousIntegration/report_build_diagnostics.py $(Build.SourcesDirectory)-build
132- condition : succeededOrFailed()
133- displayName : ' Report build warnings and errors'
134-
135- - script : |
136- ci_addons ctest_junit_formatter $(Build.SourcesDirectory)-build > $(Agent.BuildDirectory)/JUnitTestResults.xml
137- condition: succeededOrFailed()
138- displayName: 'Format CTest output in JUnit format'
139-
140- - task : PublishTestResults@2
141- inputs :
142- testResultsFiles : " $(Agent.BuildDirectory)/JUnitTestResults.xml"
143- testRunTitle : ' CTest $(Agent.OS)'
144- condition : succeededOrFailed()
145- displayName : ' Publish test results'
146-
147- - job : LinuxLegacyRemoved
148- timeoutInMinutes : 0
149- cancelTimeoutInMinutes : 300
150- pool :
151- vmImage : ubuntu-22.04
152- steps :
153- - checkout : self
154- clean : true
155- fetchDepth : 5
156- - bash : |
157- set -x
158- if [ -n "$(System.PullRequest.SourceCommitId)" ]; then
159- git checkout $(System.PullRequest.SourceCommitId)
160- fi
161- displayName: 'Checkout pull request HEAD'
162-
163- - bash : |
164- set -x
165- sudo pip3 install ninja
166- sudo apt-get update
167- sudo apt-get install -y python3-venv ccache locales
168- sudo locale-gen de_DE.UTF-8
169- sudo python3 -m pip install lxml scikit-ci-addons
170- displayName: 'Install dependencies'
171-
172- - bash : |
173- set -x
174- git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard
175- workingDirectory: $(Agent.BuildDirectory)
176- displayName: 'Download dashboard script'
177-
178- - task : Cache@2
179- inputs :
180- key : ' "externaldata" | "v1" | **/*.cid'
181- restoreKeys : |
182- "externaldata" | "v1"
183- path : $(ExternalData_OBJECT_STORES)
184- displayName : ' Restore ExternalData object store'
185-
186- - task : Cache@2
187- inputs :
188- key : ' "ccache-v4" | "$(Agent.OS)" | "LinuxLegacyRemoved" | "$(Build.SourceVersion)"'
189- restoreKeys : |
190- "ccache-v4" | "$(Agent.OS)" | "LinuxLegacyRemoved"
191- path : $(CCACHE_DIR)
192- displayName : ' Restore ccache'
193-
194- - bash : |
195- set -x
196- ccache --zero-stats
197- ccache --evict-older-than 7d
198- ccache --show-config
199- displayName: 'ccache config and maintenance'
200-
201- - bash : |
202- cat > dashboard.cmake << EOF
203- set(CTEST_BUILD_CONFIGURATION "MinSizeRel")
204- set(CTEST_CMAKE_GENERATOR "Ninja")
205- set(BUILD_NAME_SUFFIX "LegacyRemoved")
100+ set(BUILD_NAME_SUFFIX "LegacyRemovedCxx20")
206101 set(dashboard_cache "
207102 ITK_LEGACY_REMOVE:BOOL=ON
103+ CMAKE_CXX_STANDARD:STRING=20
104+ CMAKE_CXX_STANDARD_REQUIRED:BOOL=ON
208105 BUILD_SHARED_LIBS:BOOL=OFF
209- BUILD_EXAMPLES:BOOL=OFF
106+ BUILD_EXAMPLES:BOOL=ON
210107 ITK_WRAP_PYTHON:BOOL=OFF
211108 CMAKE_C_COMPILER_LAUNCHER:STRING=ccache
212109 CMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache
@@ -247,112 +144,6 @@ jobs:
247144 - task : PublishTestResults@2
248145 inputs :
249146 testResultsFiles : " $(Agent.BuildDirectory)/JUnitTestResults.xml"
250- testRunTitle : ' CTest $(Agent.OS) LegacyRemoved '
147+ testRunTitle : ' CTest $(Agent.OS) LegacyRemovedCxx20 '
251148 condition : succeededOrFailed()
252149 displayName : ' Publish test results'
253-
254- - job : LinuxCxx20
255- timeoutInMinutes : 0
256- cancelTimeoutInMinutes : 300
257- pool :
258- vmImage : ubuntu-24.04
259- steps :
260- - checkout : self
261- clean : true
262- fetchDepth : 5
263- - bash : |
264- set -x
265- if [ -n "$(System.PullRequest.SourceCommitId)" ]; then
266- git checkout $(System.PullRequest.SourceCommitId)
267- fi
268- displayName: "Checkout pull request HEAD"
269- - task : UsePythonVersion@0
270- inputs :
271- versionSpec : " 3.10"
272- architecture : " x64"
273- - bash : |
274- set -x
275- sudo pip3 install ninja
276- sudo apt-get update
277- sudo apt-get install -y python3-venv ccache locales
278- sudo locale-gen de_DE.UTF-8
279- sudo python3 -m pip install lxml scikit-ci-addons
280- displayName: "Install dependencies"
281- - bash : |
282- set -x
283- git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard
284- workingDirectory: $(Agent.BuildDirectory)
285- displayName: "Download dashboard script"
286-
287- - task : Cache@2
288- inputs :
289- key : ' "externaldata" | "v1" | **/*.cid'
290- restoreKeys : |
291- "externaldata" | "v1"
292- path : $(ExternalData_OBJECT_STORES)
293- displayName : ' Restore ExternalData object store'
294-
295- - task : Cache@2
296- inputs :
297- key : ' "ccache-v4" | "$(Agent.OS)" | "LinuxCxx20" | "$(Build.SourceVersion)"'
298- restoreKeys : |
299- "ccache-v4" | "$(Agent.OS)" | "LinuxCxx20"
300- path : $(CCACHE_DIR)
301- displayName : ' Restore ccache'
302-
303- - bash : |
304- set -x
305- ccache --zero-stats
306- ccache --evict-older-than 7d
307- ccache --show-config
308- displayName: 'ccache config and maintenance'
309-
310- - bash : |
311- cat > dashboard.cmake << EOF
312- set(CTEST_BUILD_CONFIGURATION "MinSizeRel")
313- set(CTEST_CMAKE_GENERATOR "Ninja")
314- set(BUILD_NAME_SUFFIX "Cxx20")
315- set(dashboard_cache "
316- CMAKE_CXX_STANDARD:STRING=20
317- CMAKE_CXX_STANDARD_REQUIRED:BOOL=ON
318- BUILD_SHARED_LIBS:BOOL=OFF
319- BUILD_EXAMPLES:BOOL=OFF
320- ITK_WRAP_PYTHON:BOOL=OFF
321- CMAKE_C_COMPILER_LAUNCHER:STRING=ccache
322- CMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache
323- ITK_COMPUTER_MEMORY_SIZE:STRING=4.5
324- ")
325- set(CTEST_TEST_ARGS EXCLUDE_LABEL BigIO) # Disabled to conserve disk space
326- include(\$ENV{AGENT_BUILDDIRECTORY}/ITK-dashboard/azure_dashboard.cmake)
327- EOF
328- cat dashboard.cmake
329- workingDirectory: $(Agent.BuildDirectory)/ITK-dashboard
330- displayName: "Configure CTest script"
331- - bash : |
332- set -x
333- c++ --version
334- cmake --version
335- ctest -S $(Agent.BuildDirectory)/ITK-dashboard/dashboard.cmake -V -j 2
336- displayName: "Build and test"
337- env:
338- CTEST_OUTPUT_ON_FAILURE: 1
339- CCACHE_MAXSIZE: 2.4G
340-
341- - bash : ccache --show-stats
342- condition : always()
343- displayName : ' ccache stats'
344-
345- - bash : python3 $(Build.SourcesDirectory)/Testing/ContinuousIntegration/report_build_diagnostics.py $(Build.SourcesDirectory)-build
346- condition : succeededOrFailed()
347- displayName : ' Report build warnings and errors'
348-
349- - script : |
350- ci_addons ctest_junit_formatter $(Build.SourcesDirectory)-build > $(Agent.BuildDirectory)/JUnitTestResults.xml
351- condition: succeededOrFailed()
352- displayName: "Format CTest output in JUnit format"
353- - task : PublishTestResults@2
354- inputs :
355- testResultsFiles : " $(Agent.BuildDirectory)/JUnitTestResults.xml"
356- testRunTitle : " CTest $(Agent.OS) Cxx20"
357- condition : succeededOrFailed()
358- displayName : " Publish test results"
0 commit comments