diff --git a/.ci-builds/.azure-pipelines.yml b/.ci-builds/.azure-pipelines.yml new file mode 100644 index 00000000000..9edc2f04259 --- /dev/null +++ b/.ci-builds/.azure-pipelines.yml @@ -0,0 +1,137 @@ +# 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: | + 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_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' +#------------------------------------------------------------------------- +- job: ICU4C_MSVC_x86_Release + displayName: 'C: MSVC 32-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: Win32 + configuration: Release + - task: BatchScript@1 + displayName: 'Run Tests (icucheck.bat)' + inputs: + filename: icu4c/source/allinone/icucheck.bat + arguments: 'x86 Release' +#------------------------------------------------------------------------- +# 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.1/python-3.7.1-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: | + 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'