| # Azure Pipelines (VSTS) configuration for CI builds for ICU. |
| |
| trigger: |
| branches: |
| include: |
| - main |
| - maint/maint-* |
| paths: |
| include: |
| - icu4c |
| - .ci-builds/.azure-pipelines-icu4c.yml |
| |
| pr: |
| branches: |
| include: |
| - main |
| - maint/maint-* |
| paths: |
| include: |
| - icu4c |
| - .ci-builds/.azure-pipelines-icu4c.yml |
| |
| |
| variables: |
| MAVEN_ARGS: '--show-version --no-transfer-progress' |
| |
| jobs: |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang_Ubuntu_2204 |
| displayName: 'C: Linux Clang (Ubuntu 22.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-22.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 check |
| displayName: 'Build and Test' |
| env: |
| CC: clang |
| CXX: clang++ |
| - script: | |
| cd icu4c/source/test/cintltst && LANG=C LD_LIBRARY_PATH=../../lib:../../tools/ctestfw ./cintltst /tsutil/cloctst/TestCDefaultLocale |
| displayName: 'Test C Default locale' |
| - script: | |
| cd icu4c/source/test/cintltst && LANG=C.UTF-8 LD_LIBRARY_PATH=../../lib:../../tools/ctestfw ./cintltst /tsutil/cloctst/TestCDefaultLocale |
| displayName: 'Test C.UTF-8 Default locale' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang_Ubuntu_DataFilter_2204 |
| displayName: 'C: Linux Clang DataFilter (Ubuntu 22.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-22.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| # Note: This job uses `make -j2` instead of `make -j -l2.5` because with more parallelism (PR #2456) |
| # this check became flaky. The build apparently was not done copying one or another .ucm file before |
| # calling makeconv for it, although the Makefile has appropriate dependencies. |
| - script: | |
| 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) && \ |
| (cd test/cintltst && LANG=C LD_LIBRARY_PATH=../../lib:../../tools/ctestfw ./cintltst /tsutil/cloctst/TestEnglishExemplarCharacters /tsutil/cldrtest/TestCoverage) |
| displayName: 'Build with Data Filter' |
| env: |
| CC: clang |
| CXX: clang++ |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang_Cpp17_Debug_Ubuntu_2204 |
| displayName: 'C: Linux Clang C++17 Debug (Ubuntu 22.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-22.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| export CXXFLAGS="-std=c++17 -Winvalid-constexpr" && cd icu4c/source && ./runConfigureICU --enable-debug --disable-release Linux && make -j -l2.5 check |
| displayName: 'Build and Test C++17' |
| env: |
| CC: clang |
| CXX: clang++ |
| #------------------------------------------------------------------------- |
| - job: ICU4C_GCC_Ubuntu_2004 |
| displayName: 'C: Linux GCC (Ubuntu 20.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-20.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 check |
| displayName: 'Build and Test' |
| env: |
| CC: gcc |
| CXX: g++ |
| #------------------------------------------------------------------------- |
| - job: ICU4C_GCC11_Cpp20_Ubuntu_2004 |
| displayName: 'C: Linux GCC-11 C++20 (Ubuntu 20.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-20.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| sudo add-apt-repository ppa:ubuntu-toolchain-r/test |
| sudo apt update |
| sudo apt install gcc-11 g++-11 |
| displayName: 'Install GCC-11' |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 check |
| displayName: 'Build and Test' |
| env: |
| CC: gcc-11 |
| CXX: g++-11 |
| CXXFLAGS: '-std=c++20 -fext-numeric-literals' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang_Ubuntu_2004_LANG |
| displayName: 'C: Linux Clang (Ubuntu 20.04) - LANG has extension tags' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-20.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 check |
| displayName: 'Build and Test' |
| env: |
| CC: clang |
| CXX: clang++ |
| LANG: "en_US@calendar=gregorian;hours=h12" |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang16_Ubuntu_2004_WarningsAsErrors |
| displayName: 'C: Linux Clang-16 WarningsAsErrors (Ubuntu 20.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-20.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| # Install Clang-16 from https://apt.llvm.org/ |
| - script: | |
| curl -Ls https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - |
| sudo apt-add-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main' |
| sudo apt update |
| sudo apt install -qy clang-16 lld-16 libc++-16-dev libc++abi-16-dev |
| displayName: 'Install Clang-16' |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 tests |
| displayName: 'Build only (WarningsAsErrors)' |
| env: |
| CC: clang-16 |
| CPPFLAGS: '-Werror -Wno-strict-prototypes -Wall -Wextra -Wextra-semi -Wundef -Wnon-virtual-dtor -Wsuggest-override' |
| CXX: clang++-16 |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang16_Cpp20_Ubuntu_2004 |
| displayName: 'C: Linux Clang-16 C++20 (Ubuntu 20.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-20.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| # Install Clang-16 from https://apt.llvm.org/ |
| - script: | |
| curl -Ls https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - |
| sudo apt-add-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main' |
| sudo apt update |
| sudo apt install -qy clang-16 lld-16 libc++-16-dev libc++abi-16-dev |
| displayName: 'Install Clang-16' |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 check |
| displayName: 'Build and Test' |
| env: |
| CC: clang-16 |
| CPPFLAGS: '-Werror -Wno-strict-prototypes' |
| CXX: clang++-16 |
| CXXFLAGS: '-std=c++20' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang16_Cpp20_libcpp_Ubuntu_2004 |
| displayName: 'C: Linux Clang-16 C++20 libc++ (Ubuntu 20.04)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-20.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| # Install Clang-16 from https://apt.llvm.org/ |
| - script: | |
| curl -Ls https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - |
| sudo apt-add-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main' |
| sudo apt update |
| sudo apt install -qy clang-16 lld-16 libc++-16-dev libc++abi-16-dev |
| displayName: 'Install Clang-16' |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 check |
| displayName: 'Build and Test' |
| env: |
| CC: clang-16 |
| CPPFLAGS: '-Werror -Wno-strict-prototypes' |
| CXX: clang++-16 |
| CXXFLAGS: '-std=c++20 -stdlib=libc++' |
| #------------------------------------------------------------------------- |
| # VS 2022 Builds |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_x64_Release_Distrelease |
| displayName: 'C: MSVC 64-bit Release (VS 2022) + Distrelease' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - 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 (x64)' |
| inputs: |
| targetType: filePath |
| filePath: 'icu4c/packaging/distrelease.ps1' |
| arguments: '-arch x64' |
| workingDirectory: icu4c |
| - task: PublishBuildArtifacts@1 |
| displayName: 'Publish x64 Artifacts: icu-windows.zip' |
| inputs: |
| PathtoPublish: 'icu4c/source/dist/icu-windows.zip' |
| ArtifactName: '$(Build.BuildNumber)_ICU4C_MSVC_x64_Release' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_x64_Release_DataFilter |
| displayName: 'C: MSVC 64-bit Release DataFilter (VS 2022)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'windows-2022' |
| 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_Release_Distrelease |
| displayName: 'C: MSVC 32-bit Release (VS 2022) + Distrelease' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - 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' |
| - 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' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_x64_ARM32_Release |
| displayName: 'C: MSVC x64 ARM32 Release (VS 2022)' |
| timeoutInMinutes: 35 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - 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 |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_x64_ARM64_Release_Distrelease |
| displayName: 'C: MSVC x64 ARM64 Release (VS 2022) + Distrelease' |
| timeoutInMinutes: 35 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - task: VSBuild@1 |
| displayName: 'Build Solution' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: x64 |
| configuration: Release |
| - task: VSBuild@1 |
| displayName: 'Build ARM64' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: ARM64 |
| configuration: Release |
| - 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' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_x64_Debug |
| displayName: 'C: MSVC x64 Debug (VS 2022)' |
| timeoutInMinutes: 35 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - task: VSBuild@1 |
| displayName: 'Build Solution' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: x64 |
| configuration: Debug |
| - task: BatchScript@1 |
| displayName: 'Run x64 Debug Tests (icucheck.bat)' |
| inputs: |
| filename: icu4c/source/allinone/icucheck.bat |
| arguments: 'x64 Debug' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_ARM64_Debug |
| displayName: 'C: MSVC ARM64 Debug (VS 2022)' |
| timeoutInMinutes: 35 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - task: VSBuild@1 |
| displayName: 'Build Solution' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: x64 |
| configuration: Debug |
| - task: VSBuild@1 |
| displayName: 'Build ARM64 Debug' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: ARM64 |
| configuration: Debug |
| #------------------------------------------------------------------------- |
| # There is no /std:c++20 yet, so use c++latest as that includes many of |
| # the C++20 compiler and library changes. |
| - job: ICU4C_MSVC_x64_Release_CppLatest |
| displayName: 'C: MSVC 64-bit Release (VS 2022) /std:c++latest' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - task: VSBuild@1 |
| displayName: 'Build Solution' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: x64 |
| configuration: Release |
| msbuildArgs: '/p:LanguageStandard="stdcpplatest"' |
| - task: BatchScript@1 |
| displayName: 'Run Tests (icucheck.bat)' |
| inputs: |
| filename: icu4c/source/allinone/icucheck.bat |
| arguments: 'x64 Release' |
| #------------------------------------------------------------------------- |
| # VS 2019 Builds |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSVC_x64_Release_VS2019 |
| displayName: 'C: MSVC 64-bit Release (VS 2019)' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'windows-2019' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - 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_Debug_VS2019 |
| displayName: 'C: MSVC 32-bit Debug (VS 2019)' |
| timeoutInMinutes: 60 |
| pool: |
| vmImage: 'windows-2019' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - 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' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_MSYS2_GCC_x86_64_Release |
| displayName: 'C: MSYS2 GCC x86_64 Release' |
| timeoutInMinutes: 45 |
| pool: |
| vmImage: 'windows-2019' |
| demands: |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - 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 --prefix='/tmp/build-icu' && make -j -l2.5 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' |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang_MacOS_WarningsAsErrors |
| displayName: 'C: macOS(Latest) Clang WarningsAsErrors' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'macOS-latest' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| export CPPFLAGS="-Werror -Wall -Wextra -Wextra-semi -Wundef -Wnon-virtual-dtor" && cd icu4c/source && ./runConfigureICU MacOSX && make -j -l2.5 check |
| displayName: 'Build and Test (WarningsAsErrors)' |
| env: |
| CC: clang |
| CXX: clang++ |
| #------------------------------------------------------------------------- |
| - job: ICU4C_icuexportdata_Ubuntu_2204 |
| displayName: 'C: Create Artifacts from icuexportdata' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'ubuntu-22.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| cd icu4c/source && ./runConfigureICU Linux && make -j -l2.5 |
| displayName: 'Build' |
| env: |
| CC: clang |
| CXX: clang++ |
| - script: | |
| cd icu4c/source |
| mkdir -p icuexportdata/uprops/fast |
| ./bin/icuexportdata --mode uprops --index --copyright --verbose --destdir icuexportdata/uprops/fast --trie-type fast --all |
| mkdir -p icuexportdata/uprops/small |
| ./bin/icuexportdata --mode uprops --index --copyright --verbose --destdir icuexportdata/uprops/small --trie-type small --all |
| displayName: 'Build property data files' |
| env: |
| LD_LIBRARY_PATH: lib |
| - script: | |
| cd icu4c/source |
| mkdir -p icuexportdata/norm/fast |
| ./bin/icuexportdata --mode norm --index --copyright --verbose --destdir icuexportdata/norm/fast --trie-type fast --all |
| mkdir -p icuexportdata/norm/small |
| ./bin/icuexportdata --mode norm --index --copyright --verbose --destdir icuexportdata/norm/small --trie-type small --all |
| displayName: 'Build normalization data files' |
| env: |
| LD_LIBRARY_PATH: lib |
| - script: | |
| cd icu4c/source |
| mkdir -p icuexportdata/ucase/fast |
| ./bin/icuexportdata --mode ucase --index --copyright --verbose --destdir icuexportdata/ucase/fast --trie-type fast --all |
| mkdir -p icuexportdata/ucase/small |
| ./bin/icuexportdata --mode ucase --index --copyright --verbose --destdir icuexportdata/ucase/small --trie-type small --all |
| displayName: 'Build case data files' |
| env: |
| LD_LIBRARY_PATH: lib |
| - script: | |
| cd icu4c/source |
| FILES=`ls data/coll "*.txt"` |
| mkdir -p icuexportdata/collation/unihan |
| ./bin/genrb -X -s data/coll/ --ucadata data/in/coll/ucadata-unihan-icu4x.icu -d icuexportdata/collation/unihan $FILES |
| rm icuexportdata/collation/unihan/*.res |
| mkdir -p icuexportdata/collation/implicithan |
| ./bin/genrb -X -s data/coll/ --ucadata data/in/coll/ucadata-implicithan-icu4x.icu -d icuexportdata/collation/implicithan $FILES |
| rm icuexportdata/collation/implicithan/*.res |
| displayName: 'Build collation data files' |
| env: |
| LD_LIBRARY_PATH: lib |
| - script: | |
| cd icu4c/source |
| mkdir -p icuexportdata/segmenter/dictionary |
| for FILE in `ls data/brkitr/dictionaries` |
| do |
| ./bin/gendict --uchars --toml data/brkitr/dictionaries/$FILE icuexportdata/segmenter/dictionary/`basename $FILE .txt`.toml |
| done |
| displayName: 'Build segmenter dictionary files' |
| env: |
| LD_LIBRARY_PATH: lib |
| - task: ArchiveFiles@2 |
| displayName: 'Zip' |
| inputs: |
| rootFolderOrFile: 'icu4c/source/icuexportdata' |
| includeRootFolder: false |
| archiveFile: 'icuexportdata_tag-goes-here.zip' |
| - task: PublishBuildArtifacts@1 |
| displayName: 'Publish Artifact' |
| inputs: |
| PathtoPublish: 'icuexportdata_tag-goes-here.zip' |
| ArtifactName: 'icuexportdata_output' |
| #------------------------------------------------------------------------- |
| # Builds MSVC with cpp exceptions turned off |
| - job: ICU4C_MSVC_x64_Release_NoExceptions |
| displayName: 'C: MSVC 64-bit Release No Exceptions' |
| timeoutInMinutes: 30 |
| pool: |
| vmImage: 'windows-2022' |
| demands: |
| - msbuild |
| - visualstudio |
| - Cmd |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - task: VSBuild@1 |
| displayName: 'Build Solution' |
| inputs: |
| solution: icu4c/source/allinone/allinone.sln |
| platform: x64 |
| configuration: Release |
| msbuildArgs: '/p:_HAS_EXCEPTIONS=0' |
| - task: BatchScript@1 |
| displayName: 'Run Tests (icucheck.bat)' |
| inputs: |
| filename: icu4c/source/allinone/icucheck.bat |
| arguments: 'x64 Release' |