2018-10-17 07:03:12 +00:00
# Azure Pipelines (VSTS) configuration for CI builds for ICU.
jobs :
#-------------------------------------------------------------------------
- job : ICU4J_OpenJDK_Ubuntu_1604
displayName: 'J : Linux OpenJDK (Ubuntu 16.04)'
timeoutInMinutes : 20
pool :
vmImage : 'Ubuntu 16.04'
demands : ant
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2018-10-17 07:03:12 +00:00
- script : |
echo "Building ICU4J" && cd icu4j && ant init && ant check
displayName : 'Build and Test'
env :
BUILD : ICU4J
- script : |
2020-03-03 08:30:41 +00:00
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`
2018-10-17 07:03:12 +00:00
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 :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2018-10-17 07:03:12 +00:00
- script : |
cd icu4c/source && ./runConfigureICU Linux && make -j2 check
displayName : 'Build and Test'
env :
CC : clang
CXX : clang++
#-------------------------------------------------------------------------
2019-07-27 01:09:39 +00:00
- job : ICU4C_Clang_Ubuntu_1604_WarningsAsErrors
displayName: 'C : Linux Clang WarningsAsErrors (Ubuntu 16.04)'
timeoutInMinutes : 30
pool :
vmImage : 'Ubuntu 16.04'
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-07-27 01:09:39 +00:00
- script : |
2019-09-10 04:14:43 +00:00
export CPPFLAGS="-Werror -Wall -Wextra -Wextra-semi -Wundef -Wnon-virtual-dtor" && cd icu4c/source && ./runConfigureICU Linux && make -j2 tests
2019-07-27 01:09:39 +00:00
displayName : 'Build only (WarningsAsErrors)'
env :
CC : clang
CXX : clang++
#-------------------------------------------------------------------------
2019-06-12 17:07:09 +00:00
- job : ICU4C_Clang_Ubuntu_DataFilter_1604
displayName: 'C : Linux Clang DataFilter (Ubuntu 16.04)'
timeoutInMinutes : 30
pool :
vmImage : 'Ubuntu 16.04'
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-06-12 17:07:09 +00:00
- script : |
2020-01-17 01:57:49 +00:00
cd icu4c/source && \
ICU_DATA_FILTER_FILE=../../.ci-builds/data-filter.json ./runConfigureICU Linux && \
make -j2 tests && \
\[ ! -d data/out/build/icudt66l/translit \] && \
(cd test/intltest && LD_LIBRARY_PATH=../../lib:../../tools/ctestfw ./intltest translit/TransliteratorTest/TestBasicTransliteratorEvenWithoutData)
2019-06-12 17:07:09 +00:00
displayName : 'Build with Data Filter'
env :
CC : clang
CXX : clang++
#-------------------------------------------------------------------------
2019-08-28 01:27:51 +00:00
- job : ICU4C_MSVC_x64_Release_Distrelease
displayName: 'C : MSVC 64-bit Release (VS 2017) + Distrelease'
2018-10-17 07:03:12 +00:00
timeoutInMinutes : 30
pool :
vmImage : 'vs2017-win2016'
demands :
- msbuild
- visualstudio
- Cmd
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2018-10-17 07:03:12 +00:00
- 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'
2019-04-11 06:16:27 +00:00
- task : PowerShell@2
2019-08-28 01:27:51 +00:00
displayName: 'PowerShell : Distrelease script (x64)'
2019-04-11 06:16:27 +00:00
inputs :
targetType : filePath
filePath : 'icu4c/packaging/distrelease.ps1'
arguments : '-arch x64'
workingDirectory : icu4c
- task : PublishBuildArtifacts@1
2019-08-28 01:27:51 +00:00
displayName: 'Publish x64 Artifacts : icu-windows.zip'
2019-04-11 06:16:27 +00:00
inputs :
PathtoPublish : 'icu4c/source/dist/icu-windows.zip'
ArtifactName : '$(Build.BuildNumber)_ICU4C_MSVC_x64_Release'
2018-10-17 07:03:12 +00:00
#-------------------------------------------------------------------------
2019-08-28 01:27:51 +00:00
- job : ICU4C_MSVC_x86_Release_Distrelease
displayName: 'C : MSVC 32-bit Release (VS 2017) + Distrelease'
timeoutInMinutes : 30
pool :
vmImage : 'vs2017-win2016'
demands :
- msbuild
- visualstudio
- Cmd
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-08-28 01:27:51 +00:00
- task : VSBuild@1
displayName : 'Build Solution'
inputs :
solution : icu4c/source/allinone/allinone.sln
platform : Win32
configuration : Release
- task : PowerShell@2
displayName: 'PowerShell : Distrelease script (x86)'
inputs :
targetType : filePath
filePath : 'icu4c/packaging/distrelease.ps1'
arguments : '-arch x86'
workingDirectory : icu4c
- task : PublishBuildArtifacts@1
displayName: 'Publish x86 Artifacts : icu-windows.zip'
inputs :
PathtoPublish : 'icu4c/source/dist/icu-windows.zip'
ArtifactName : '$(Build.BuildNumber)_ICU4C_MSVC_x86_Release'
#-------------------------------------------------------------------------
2019-09-17 01:20:13 +00:00
- job : ICU4C_MSVC_x64_ARM32_ARM64_Release_Distrelease
displayName: 'C : MSVC x64 ARM32 ARM64 Release (VS 2017) + Distrelease ARM64'
2019-08-21 17:16:15 +00:00
timeoutInMinutes : 60
2019-07-17 18:02:56 +00:00
pool :
vmImage : 'vs2017-win2016'
demands :
- msbuild
- visualstudio
- Cmd
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-07-17 18:02:56 +00:00
- 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
2019-09-17 01:20:13 +00:00
- task : PowerShell@2
displayName: 'PowerShell : Distrelease script (ARM64)'
inputs :
targetType : filePath
filePath : 'icu4c/packaging/distrelease.ps1'
arguments : '-arch ARM64'
workingDirectory : icu4c
- task : PublishBuildArtifacts@1
displayName: 'Publish ARM64 Artifacts : icu-windows.zip'
inputs :
PathtoPublish : 'icu4c/source/dist/icu-windows.zip'
ArtifactName : '$(Build.BuildNumber)_ICU4C_MSVC_ARM64_Release'
2019-07-17 18:02:56 +00:00
#-------------------------------------------------------------------------
2019-06-12 17:07:09 +00:00
- 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 :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-06-12 17:07:09 +00:00
- 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'
#-------------------------------------------------------------------------
2019-02-07 22:53:53 +00:00
- job : ICU4C_MSVC_x86_Debug
displayName: 'C : MSVC 32-bit Debug (VS 2017)'
2019-08-21 17:16:15 +00:00
timeoutInMinutes : 60
2018-10-17 07:03:12 +00:00
pool :
vmImage : 'vs2017-win2016'
demands :
- msbuild
- visualstudio
- Cmd
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2018-10-17 07:03:12 +00:00
- task : VSBuild@1
displayName : 'Build Solution'
inputs :
solution : icu4c/source/allinone/allinone.sln
platform : Win32
2019-02-07 22:53:53 +00:00
configuration : Debug
2018-10-17 07:03:12 +00:00
- task : BatchScript@1
displayName : 'Run Tests (icucheck.bat)'
inputs :
filename : icu4c/source/allinone/icucheck.bat
2019-02-07 22:53:53 +00:00
arguments : 'x86 Debug'
2018-11-12 05:30:52 +00:00
#-------------------------------------------------------------------------
2019-01-09 01:50:25 +00:00
- job : ICU4C_MSYS2_GCC_x86_64_Release
displayName: 'C : MSYS2 GCC x86_64 Release'
timeoutInMinutes : 45
pool :
vmImage : 'vs2017-win2016'
demands :
- Cmd
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-01-09 01:50:25 +00:00
- 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
2020-02-05 02:38:50 +00:00
c:\tools\msys64\usr\bin\bash.exe -lc "cd $BUILD_SOURCESDIRECTORY && cd icu4c/source && ./runConfigureICU MinGW --prefix='/tmp/build-icu' && make -j2 check"
displayName : 'Build and Test'
- script : |
set MSYSTEM=MINGW64
c:\tools\msys64\usr\bin\bash.exe -lc "cd $BUILD_SOURCESDIRECTORY && cd icu4c/source && make install && cd /tmp/build-icu && echo 'Recursive ls' && ls -lR"
displayName : 'make install'
- script : |
set MSYSTEM=MINGW64
c:\tools\msys64\usr\bin\bash.exe -lc "echo 'Run icuinfo from MSYS shell' && cd /tmp/build-icu/bin && ./icuinfo.exe"
echo 'Run icuinfo from CMD shell' && cd /d C:\tools\msys64\tmp\build-icu\bin && set PATH=C:\tools\msys64\mingw64\bin;%PATH% && icuinfo.exe"
displayName : 'run icuinfo'
2019-08-29 20:20:13 +00:00
#-------------------------------------------------------------------------
- job : ICU4C_Clang_MacOSX_WarningsAsErrors
displayName: 'C : macOSX Clang WarningsAsErrors (Mojave 10.14)'
timeoutInMinutes : 30
pool :
vmImage : 'macOS-10.14'
steps :
2020-03-03 08:30:41 +00:00
- checkout : self
lfs : true
fetchDepth : 1
2019-08-29 20:20:13 +00:00
- script : |
2019-09-10 04:14:43 +00:00
export CPPFLAGS="-Werror -Wall -Wextra -Wextra-semi -Wundef -Wnon-virtual-dtor" && cd icu4c/source && ./runConfigureICU MacOSX && make -j2 tests
2019-08-29 20:20:13 +00:00
displayName : 'Build only (WarningsAsErrors)'
env :
CC : clang
2019-09-10 04:14:43 +00:00
CXX : clang++