12e5b6d6dSopenharmony_ci# Azure Pipelines configuration for Exhaustive Tests for ICU.
22e5b6d6dSopenharmony_ci# 
32e5b6d6dSopenharmony_ci# Note: The exhaustive test configuration is in a separate file
42e5b6d6dSopenharmony_ci# so that it can be run independently from the regular builds.
52e5b6d6dSopenharmony_ci#
62e5b6d6dSopenharmony_ci# Only run the exhaustive tests on the master and maint branches, and
72e5b6d6dSopenharmony_ci# also batch up any pending changes so that we will only have at most
82e5b6d6dSopenharmony_ci# one build running at a given time (since they take a long time).
92e5b6d6dSopenharmony_citrigger:
102e5b6d6dSopenharmony_ci  batch: true
112e5b6d6dSopenharmony_ci  branches:
122e5b6d6dSopenharmony_ci    include:
132e5b6d6dSopenharmony_ci    - master
142e5b6d6dSopenharmony_ci    - maint/maint-*
152e5b6d6dSopenharmony_ci
162e5b6d6dSopenharmony_cijobs:
172e5b6d6dSopenharmony_ci#-------------------------------------------------------------------------
182e5b6d6dSopenharmony_ci# Note: The exhaustive tests for J take longer than the C tests. They 
192e5b6d6dSopenharmony_ci# take roughly 85 min to complete on the Azure VMs.
202e5b6d6dSopenharmony_ci- job: ICU4J_OpenJDK_Ubuntu_1604
212e5b6d6dSopenharmony_ci  displayName: 'J: Linux OpenJDK (Ubuntu 16.04)'
222e5b6d6dSopenharmony_ci  timeoutInMinutes: 100
232e5b6d6dSopenharmony_ci  pool:
242e5b6d6dSopenharmony_ci    vmImage: 'Ubuntu 16.04'
252e5b6d6dSopenharmony_ci    demands: ant
262e5b6d6dSopenharmony_ci  steps:
272e5b6d6dSopenharmony_ci    - checkout: self
282e5b6d6dSopenharmony_ci      lfs: true
292e5b6d6dSopenharmony_ci      fetchDepth: 1
302e5b6d6dSopenharmony_ci    - script: |
312e5b6d6dSopenharmony_ci        echo "Building ICU4J" && cd icu4j && ant init && ant exhaustiveCheck
322e5b6d6dSopenharmony_ci      displayName: 'Build and Exhaustive Tests'
332e5b6d6dSopenharmony_ci      env:
342e5b6d6dSopenharmony_ci        BUILD: ICU4J
352e5b6d6dSopenharmony_ci    - script: |
362e5b6d6dSopenharmony_ci        [ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`
372e5b6d6dSopenharmony_ci      condition: failed() # only run if the build fails.
382e5b6d6dSopenharmony_ci      displayName: 'List failures (if any)'
392e5b6d6dSopenharmony_ci      timeoutInMinutes: 2
402e5b6d6dSopenharmony_ci#-------------------------------------------------------------------------
412e5b6d6dSopenharmony_ci# Note: The exhaustive tests take roughly 65 mins to complete on the
422e5b6d6dSopenharmony_ci# Azure VMs.
432e5b6d6dSopenharmony_ci- job: ICU4C_Clang_Exhaustive_Ubuntu_1604
442e5b6d6dSopenharmony_ci  displayName: 'C: Linux Clang Exhaustive Tests (Ubuntu 16.04)'
452e5b6d6dSopenharmony_ci  timeoutInMinutes: 80
462e5b6d6dSopenharmony_ci  pool:
472e5b6d6dSopenharmony_ci    vmImage: 'Ubuntu 16.04'
482e5b6d6dSopenharmony_ci  steps:
492e5b6d6dSopenharmony_ci    - checkout: self
502e5b6d6dSopenharmony_ci      lfs: true
512e5b6d6dSopenharmony_ci      fetchDepth: 1
522e5b6d6dSopenharmony_ci    - script: |
532e5b6d6dSopenharmony_ci        cd icu4c/source && ./runConfigureICU Linux && make -j2
542e5b6d6dSopenharmony_ci      displayName: 'Build'
552e5b6d6dSopenharmony_ci    - script: |
562e5b6d6dSopenharmony_ci        cd icu4c/source && make check-exhaustive
572e5b6d6dSopenharmony_ci      displayName: 'Exhaustive Tests'
582e5b6d6dSopenharmony_ci      env:
592e5b6d6dSopenharmony_ci        CC: clang
602e5b6d6dSopenharmony_ci        CXX: clang++
612e5b6d6dSopenharmony_ci#-------------------------------------------------------------------------
622e5b6d6dSopenharmony_ci
63