# Azure Pipelines configuration for Exhaustive Tests for ICU.
# 
# Note: The exhaustive test configuration is in a separate file
# so that it can be run independently from the regular builds.
#
# Only run the exhaustive tests on the master and maint branches, and
# also batch up any pending changes so that we will only have at most
# one build running at a given time (since they take a long time).
trigger:
  batch: true
  branches:
    include:
    - master
    - maint/maint-*
  paths:
    include:
    - '*'
    exclude:
    - .github/*
    - .ci-builds/.azure-pipelines.yml
    - .ci-builds/.azure-valgrind.yml
    - docs/*
    - tools/*
    - vendor/*
    - .appveyor.xml
    - .cpyskip.txt
    - .travis.yml
    - KEYS
    - README.md

jobs:
#-------------------------------------------------------------------------
# Note: The exhaustive tests can take more than 1 hour to complete.
- job: ICU4J_OpenJDK_Ubuntu_1604
  displayName: 'J: Linux OpenJDK (Ubuntu 16.04)'
  timeoutInMinutes: 120
  pool:
    vmImage: 'Ubuntu 16.04'
    demands: ant
  steps:
    - checkout: self
      lfs: true
      fetchDepth: 10
    - script: |
        echo "Building ICU4J" && cd icu4j && ant init && ant exhaustiveCheck
      displayName: 'Build and Exhaustive Tests'
      env:
        BUILD: ICU4J
    - script: |
        [ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`
      condition: failed() # only run if the build fails.
      displayName: 'List failures (if any)'
      timeoutInMinutes: 2
#-------------------------------------------------------------------------
# Note: The exhaustive tests can take more than 1 hour to complete.
- job: ICU4C_Clang_Exhaustive_Ubuntu_1604
  displayName: 'C: Linux Clang Exhaustive Tests (Ubuntu 16.04)'
  timeoutInMinutes: 120
  pool:
    vmImage: 'Ubuntu 16.04'
  steps:
    - checkout: self
      lfs: true
      fetchDepth: 10
    - script: |
        cd icu4c/source && ./runConfigureICU Linux && make -j2
      displayName: 'Build'
    - script: |
        cd icu4c/source && make check-exhaustive
      displayName: 'Exhaustive Tests'
      env:
        CC: clang
        CXX: clang++
#-------------------------------------------------------------------------

