blob: 5f24269aa5a120fb677c23219bdb328abfa9c892 [file] [log] [blame]
# Azure Pipelines (VSTS) configuration for CI builds for ICU.
jobs:
#-------------------------------------------------------------------------
- job: ICU4J_OpenJDK_Ubuntu_1804
displayName: 'J: Linux OpenJDK (Ubuntu 18.04)'
timeoutInMinutes: 20
pool:
vmImage: 'ubuntu-18.04'
demands: ant
steps:
- checkout: self
lfs: true
fetchDepth: 10
- script: |
echo "Building ICU4J" && cd icu4j && ant init && ant check && ant localespiCheck
displayName: 'Build and Test'
env:
BUILD: ICU4J
# exit with a non-zero status in order to make this step show as a red X in the UI.
- script: |
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;` && exit 1
condition: failed() # only run if the build fails.
displayName: 'List failures (if any)'
#-------------------------------------------------------------------------
- job: ICU4C_Clang_Ubuntu_1804
displayName: 'C: Linux Clang (Ubuntu 18.04)'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-18.04'
steps:
- checkout: self
lfs: true
fetchDepth: 10
- script: |
cd icu4c/source && ./runConfigureICU Linux && make -j2 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_1804
displayName: 'C: Linux Clang DataFilter (Ubuntu 18.04)'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-18.04'
steps:
- checkout: self
lfs: true
fetchDepth: 10
- 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)
displayName: 'Build with Data Filter'
env:
CC: clang
CXX: clang++
#-------------------------------------------------------------------------
- job: ICU4C_Clang_Cpp14_Debug_Ubuntu_1804
displayName: 'C: Linux Clang C++17 Debug (Ubuntu 18.04)'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-18.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 -j2 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 -j2 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 -j2 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 -j2 check
displayName: 'Build and Test'
env:
CC: clang
CXX: clang++
LANG: "en_US@calendar=gregorian;hours=h12"
#-------------------------------------------------------------------------
- job: ICU4C_Clang14_Ubuntu_2004_WarningsAsErrors
displayName: 'C: Linux Clang-14 WarningsAsErrors (Ubuntu 20.04)'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-20.04'
steps:
- checkout: self
lfs: true
fetchDepth: 10
# Install Clang-14 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-14 main'
sudo apt update
sudo apt install -qy clang-14 lld-14 libc++-14-dev libc++abi-14-dev
displayName: 'Install Clang-14'
- script: |
cd icu4c/source && ./runConfigureICU Linux && make -j2 tests
displayName: 'Build only (WarningsAsErrors)'
env:
CC: clang-14
CPPFLAGS: '-Werror -Wall -Wextra -Wextra-semi -Wundef -Wnon-virtual-dtor -Wsuggest-override'
CXX: clang++-14
#-------------------------------------------------------------------------
- job: ICU4C_Clang14_Cpp20_Ubuntu_2004
displayName: 'C: Linux Clang-14 C++20 (Ubuntu 20.04)'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-20.04'
steps:
- checkout: self
lfs: true
fetchDepth: 10
# Install Clang-14 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-14 main'
sudo apt update
sudo apt install -qy clang-14 lld-14 libc++-14-dev libc++abi-14-dev
displayName: 'Install Clang-14'
- script: |
cd icu4c/source && ./runConfigureICU Linux && make -j2 check
displayName: 'Build and Test'
env:
CC: clang-14
CPPFLAGS: '-Werror'
CXX: clang++-14
CXXFLAGS: '-std=c++20'
#-------------------------------------------------------------------------
- job: ICU4C_Clang14_Cpp20_libcpp_Ubuntu_2004
displayName: 'C: Linux Clang-14 C++20 libc++ (Ubuntu 20.04)'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-20.04'
steps:
- checkout: self
lfs: true
fetchDepth: 10
# Install Clang-14 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-14 main'
sudo apt update
sudo apt install -qy clang-14 lld-14 libc++-14-dev libc++abi-14-dev
displayName: 'Install Clang-14'
- script: |
cd icu4c/source && ./runConfigureICU Linux && make -j2 check
displayName: 'Build and Test'
env:
CC: clang-14
CPPFLAGS: '-Werror'
CXX: clang++-14
CXXFLAGS: '-std=c++20 -stdlib=libc++'
#-------------------------------------------------------------------------
# VS 2019 Builds
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x64_Release_Distrelease
displayName: 'C: MSVC 64-bit Release (VS 2019) + Distrelease'
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'
- 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 2019)'
timeoutInMinutes: 30
pool:
vmImage: 'windows-2019'
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 2019) + Distrelease'
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: 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_ARM64_Release_Distrelease
displayName: 'C: MSVC x64 ARM32 ARM64 Release (VS 2019) + Distrelease ARM64'
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: 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
- 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_ARM64_Debug
displayName: 'C: MSVC x64 ARM64 Debug (VS 2019)'
timeoutInMinutes: 45
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: Debug
- task: BatchScript@1
displayName: 'Run x64 Debug Tests (icucheck.bat)'
inputs:
filename: icu4c/source/allinone/icucheck.bat
arguments: 'x64 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 2019) /std:c++latest'
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
msbuildArgs: '/p:LanguageStandard="stdcpplatest"'
- task: BatchScript@1
displayName: 'Run Tests (icucheck.bat)'
inputs:
filename: icu4c/source/allinone/icucheck.bat
arguments: 'x64 Release'
#-------------------------------------------------------------------------
# VS2019 using the VS2017 toolset builds
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x64_Release_VS2017
displayName: 'C: MSVC 64-bit Release (VS 2017)'
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
msbuildArgs: /p:DefaultPlatformToolset=v141
- task: BatchScript@1
displayName: 'Run Tests (icucheck.bat)'
inputs:
filename: icu4c/source/allinone/icucheck.bat
arguments: 'x64 Release'
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x86_Debug_VS2017
displayName: 'C: MSVC 32-bit Debug (VS 2017)'
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
msbuildArgs: /p:DefaultPlatformToolset=v141
- task: BatchScript@1
displayName: 'Run Tests (icucheck.bat)'
inputs:
filename: icu4c/source/allinone/icucheck.bat
arguments: 'x86 Debug'
#-------------------------------------------------------------------------
# VS2019 using the VS2015 toolset
#-------------------------------------------------------------------------
- job: ICU4C_MSVC_x64_Release_VS2015
displayName: 'C: MSVC 64-bit Release (VS 2015)'
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
msbuildArgs: /p:SkipUWP=true /p:DefaultPlatformToolset=v140 /p:AutodetectWin10SDK=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: '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 -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'
#-------------------------------------------------------------------------
- job: ICU4C_Clang_MacOSX_WarningsAsErrors
displayName: 'C: macOSX Clang WarningsAsErrors (Catalina 10.15)'
timeoutInMinutes: 30
pool:
vmImage: 'macOS-10.15'
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 -j2 check
displayName: 'Build and Test (WarningsAsErrors)'
env:
CC: clang
CXX: clang++
#-------------------------------------------------------------------------
- job: ICU4C_Cygwin_GCC_x86_64_Release
displayName: 'C: Cygwin GCC x86_64 Release'
timeoutInMinutes: 180
pool:
vmImage: 'windows-2019'
variables:
ICU_CI_CACHE: c:\icu-ci-cache
CYG_URL: https://cygwin.com/setup-x86_64.exe
CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
CYG_PACKAGES: automake,gcc-core,gcc-g++,make,pkg-config,perl,python3
CYG_ROOT: c:\cygwin-root
CYG_CACHE: '$(ICU_CI_CACHE)\cygwin64-v3'
CYG_CACHED_SETUP: '$(CYG_CACHE)\setup.exe'
CYG_VERSION_KEY: cygwin-3.2
steps:
# Use 'autocrlf input' since checked-in files may already be using CRLF.
- script: |
git config --global core.autocrlf input
displayName: 'Configure Git to checkout with Unix line endings (LF)'
- checkout: self
lfs: true
fetchDepth: 10
# Cache expires after 7 days of no activity.
- task: Cache@2
displayName: 'Restore Cygwin cache'
inputs:
# Use the contents of the file ".azure-pipelines.yml" as part of the key, as that contains the list of CYG_PACKAGES.
# Also include the Cygwin version as part of the key. If we want to use a newer version of Cygwin, we can update CYG_VERSION_KEY.
# Note: CYG_VERSION_KEY may become out of sync with (older than) the version we actually use if we update this file
# without updating CYG_VERSION_KEY. Any updates to this file guarantees that we're using the latest version.
key: '"$(CYG_VERSION_KEY)" | .ci-builds/.azure-pipelines.yml'
path: "$(CYG_CACHE)"
- task: PowerShell@2
displayName: 'Download Cygwin setup'
inputs:
targetType: inline
script: |
if ( !(Test-Path "${env:CYG_CACHED_SETUP}" -NewerThan (Get-Date).AddDays(-7)) )
{
Write-Host "Cached Cygwin setup does not exist or is older than 7 days, downloading from external site."
New-Item -Force -Type Directory $env:CYG_CACHE
Write-Host "Downloading Cygwin setup..."
$start_time = Get-Date
(New-Object System.Net.WebClient).DownloadFile($env:CYG_URL, $env:CYG_CACHED_SETUP)
Write-Output "Download took: $((Get-Date).Subtract($start_time).Seconds) second(s)."
}
- script: |
%CYG_CACHED_SETUP% --no-verify --quiet-mode --no-shortcuts --no-startmenu --no-desktop --upgrade-also --only-site --site "%CYG_MIRROR%" --root "%CYG_ROOT%" --local-package-dir "%CYG_CACHE%" --packages "%CYG_PACKAGES%"
displayName: 'Install Cygwin'
- script: |
%CYG_ROOT%\\bin\\sh -lc 'echo Hello' && %CYG_ROOT%\\bin\\sh -lc 'uname -a'
displayName: 'Check Cygwin environment'
- script: |
%CYG_ROOT%\\bin\\bash -lc "cd $(cygpath \"$(Build.SourcesDirectory)\") && cd icu4c/source && ./runConfigureICU Cygwin && make tests"
displayName: 'Build ICU (source and test)'
env:
CC: gcc
CXX: g++
- script: |
%CYG_ROOT%\\bin\\bash -lc "cd $(cygpath \"$(Build.SourcesDirectory)\") && cd icu4c/source && make check"
displayName: 'Run Tests'
env:
CC: gcc
CXX: g++
#-------------------------------------------------------------------------
- job: ICU4C_icuexportdata_Ubuntu_1804
displayName: 'C: Create Artifacts from icuexportdata'
timeoutInMinutes: 30
pool:
vmImage: 'ubuntu-18.04'
steps:
- checkout: self
lfs: true
fetchDepth: 10
- script: |
cd icu4c/source && ./runConfigureICU Linux && make -j2
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 export 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 export 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 export 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 export 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'