# Azure Pipelines (VSTS) configuration for CI builds for ICU.

resources:
  - repo: self
    lfs: true
    fetchDepth: 1

jobs:
#-------------------------------------------------------------------------
- job: ICU4J_OpenJDK_Ubuntu_1604
  displayName: 'J: Linux OpenJDK (Ubuntu 16.04)'
  timeoutInMinutes: 20
  pool:
    vmImage: 'Ubuntu 16.04'
    demands: ant
  steps:
    - script: |
        echo "Building ICU4J" && cd icu4j && ant init && ant check 
      displayName: 'Build and Test'
      env:
        BUILD: ICU4J
    - script: |
        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)'
#-------------------------------------------------------------------------
- job: ICU4C_Clang_Ubuntu_1604
  displayName: 'C: Linux Clang (Ubuntu 16.04)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'Ubuntu 16.04'
  steps:
    - script: |
        cd icu4c/source && ./runConfigureICU Linux && make -j2 check
      displayName: 'Build and Test'
      env:
        CC: clang
        CXX: clang++
#-------------------------------------------------------------------------
- job: ICU4C_Clang_Ubuntu_1604_WarningsAsErrors
  displayName: 'C: Linux Clang WarningsAsErrors (Ubuntu 16.04)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'Ubuntu 16.04'
  steps:
    - script: |
        export CPPFLAGS="-Werror -Wall -Wextra -Wextra-semi" && cd icu4c/source && ./runConfigureICU Linux && make -j2 tests
      displayName: 'Build only (WarningsAsErrors)'
      env:
        CC: clang
        CXX: clang++
#-------------------------------------------------------------------------
- job: ICU4C_Clang_Ubuntu_DataFilter_1604
  displayName: 'C: Linux Clang DataFilter (Ubuntu 16.04)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'Ubuntu 16.04'
  steps:
    - script: |
        cd icu4c/source && ICU_DATA_FILTER_FILE=../../.ci-builds/data-filter.json ./runConfigureICU Linux && make -j2
      displayName: 'Build with Data Filter'
      env:
        CC: clang
        CXX: clang++
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x64_Release
  displayName: 'C: MSVC 64-bit Release (VS 2017)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'vs2017-win2016'
    demands: 
      - msbuild
      - visualstudio
      - Cmd
  steps:
    - task: VSBuild@1
      displayName: 'Build Solution'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: x64
        configuration: Release
    - task: BatchScript@1
      displayName: 'Run Tests (icucheck.bat)'
      inputs:
        filename: icu4c/source/allinone/icucheck.bat
        arguments: 'x64 Release'
    - task: PowerShell@2
      displayName: 'PowerShell: Distrelease script'
      inputs:
        targetType: filePath
        filePath: 'icu4c/packaging/distrelease.ps1'
        arguments: '-arch x64'
        workingDirectory: icu4c
    - task: PublishBuildArtifacts@1
      displayName: 'Publish Artifacts: icu-windows.zip'
      inputs:
        PathtoPublish: 'icu4c/source/dist/icu-windows.zip'
        ArtifactName: '$(Build.BuildNumber)_ICU4C_MSVC_x64_Release'
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x64_ARM32_ARM64_Release
  displayName: 'C: MSVC x64 ARM32 ARM64 Release (VS 2017)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'vs2017-win2016'
    demands: 
      - msbuild
      - visualstudio
      - Cmd
  steps:
    - task: VSBuild@1
      displayName: 'Build Solution'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: x64
        configuration: Release
    - task: VSBuild@1
      displayName: 'Build ARM32'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: ARM
        configuration: Release
    - task: VSBuild@1
      displayName: 'Build ARM64'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: ARM64
        configuration: Release
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x64_Release_DataFilter
  displayName: 'C: MSVC 64-bit Release DataFilter (VS 2017)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'vs2017-win2016'
    demands: 
      - msbuild
      - visualstudio
      - Cmd
  steps:
    - powershell: |
        $filterPath = $Env:BUILD_SOURCESDIRECTORY + "\.ci-builds\data-filter.json"
        $vstsCommandString = "vso[task.setvariable variable=ICU_DATA_FILTER_FILE]" + $filterPath
        Write-Host "##$vstsCommandString"
    - task: VSBuild@1
      displayName: 'Build Solution with Data Filter'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: x64
        configuration: Release
        msbuildArgs: '/p:SkipUWP=true'
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x86_Debug
  displayName: 'C: MSVC 32-bit Debug (VS 2017)'
  timeoutInMinutes: 45
  pool:
    vmImage: 'vs2017-win2016'
    demands: 
      - msbuild
      - visualstudio
      - Cmd
  steps:
    - task: VSBuild@1
      displayName: 'Build Solution'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: Win32
        configuration: Debug
    - task: BatchScript@1
      displayName: 'Run Tests (icucheck.bat)'
      inputs:
        filename: icu4c/source/allinone/icucheck.bat
        arguments: 'x86 Debug'
#-------------------------------------------------------------------------
# Using a manual install of Python 3, until the vs2015 image has it 
# by default.
#
- job: ICU4C_MSVC_x64_Release_VS2015
  displayName: 'C: MSVC 64-bit Release (VS 2015)'
  timeoutInMinutes: 30
  pool:
    vmImage: 'vs2015-win2012r2'
    demands: 
      - msbuild
      - visualstudio
      - Cmd
  steps:
    - powershell: 'Invoke-WebRequest https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64-webinstall.exe -OutFile c:\py3-setup.exe'
    - script: |
        c:\py3-setup.exe /quiet PrependPath=1 InstallAllUsers=1 Include_launcher=1 InstallLauncherAllUsers=1 Include_test=0 Include_doc=0 Include_dev=0 Include_debug=0 Include_tcltk=0 TargetDir=c:\py3
    - script: |
        @echo ##vso[task.prependpath]C:\py3
        @echo ##vso[task.prependpath]C:\py3\Scripts
    - script: |
        python --version
        py -3 --version
    - task: VSBuild@1
      displayName: 'Build Solution'
      inputs:
        solution: icu4c/source/allinone/allinone.sln
        platform: x64
        configuration: Release
        msbuildArgs: '/p:SkipUWP=true'
    - task: BatchScript@1
      displayName: 'Run Tests (icucheck.bat)'
      inputs:
        filename: icu4c/source/allinone/icucheck.bat
        arguments: 'x64 Release'
#-------------------------------------------------------------------------
- job: ICU4C_MSYS2_GCC_x86_64_Release
  displayName: 'C: MSYS2 GCC x86_64 Release'
  timeoutInMinutes: 45
  pool:
    vmImage: 'vs2017-win2016'
    demands:
      - Cmd
  steps:
    - script: |
       choco install -y msys2
       rem refreshenv
      displayName: 'Install MSYS2'
    - script: |
       c:\tools\msys64\usr\bin\bash.exe -lc "echo 'Hello World' && uname -a"
       c:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S mingw-w64-x86_64-toolchain"
       c:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S make"
       exit
      displayName: 'Install mingw-w64-x86_64-toolchain'
    - script: |
       set MSYSTEM=MINGW64
       c:\tools\msys64\usr\bin\bash.exe -lc "cd $BUILD_SOURCESDIRECTORY && cd icu4c/source && ./runConfigureICU MinGW && make -j2 check"
      displayName: 'Build and Test ICU4C'
