# 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 main 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:
    - main
    - maint/maint-*
  paths:
    include:
    - '*'
    exclude:
    - .github/*
    - .ci-builds/.azure-pipelines-icu4c.yml
    - .ci-builds/.azure-pipelines-icu4j.yml
    - .ci-builds/.azure-valgrind.yml
    - docs/*
    - tools/*
    - vendor/*
    - .cpyskip.txt
    - .travis.yml
    - KEYS
    - README.md

variables:
  MAVEN_ARGS: '--show-version --no-transfer-progress'

jobs:
#-------------------------------------------------------------------------
# Note: The exhaustive tests can take more than 1 hour to complete.
- job: ICU4J_OpenJDK_Ubuntu_2204
  displayName: 'J: Linux OpenJDK (Ubuntu 22.04)'
  timeoutInMinutes: 180
  pool:
    vmImage: 'ubuntu-22.04'
    demands: ant
  steps:
    - checkout: self
      lfs: true
      fetchDepth: 10
    - script: |
        echo "Building ICU4J" && cd icu4j && mvn install -DICU.exhaustive=10
      displayName: 'Build and Exhaustive Tests'
      env:
        BUILD: ICU4J
    - script: |
        cd icu4j && cat `find . -name surefire-reports -type d -exec grep -l  -r --include="*.txt" 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_2204
  displayName: 'C: Linux Clang Exhaustive Tests (Ubuntu 22.04)'
  timeoutInMinutes: 120
  pool:
    vmImage: 'ubuntu-22.04'
  steps:
    - checkout: self
      lfs: true
      fetchDepth: 10
    - script: |
        cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5
      displayName: 'Build'
    - script: |
        cd icu4c/source && make check-exhaustive
      displayName: 'Exhaustive Tests'
      env:
        CC: clang
        CXX: clang++
#-------------------------------------------------------------------------
