# AppVeyor configuration for CI Builds of ICU4C. image: Visual Studio 2017 platform: x64 # Don't clone the entire repo. clone_depth: 3 # Cache things between builds to speed things up and save bandwidth. cache: - c:\icu-ci-cache environment: global: ICU_CI_CACHE: c:\icu-ci-cache CYG_URL: https://cygwin.com/setup-x86_64.exe CYG_MIRROR: http://cygwin.mirror.constant.com CYG_PACKAGES: automake,gcc-core,gcc-g++,make,pkg-config,perl,python3 CYG_ROOT: c:\cygwin-root CYG_CACHE: '%ICU_CI_CACHE%\cygwin64' CYG_CACHED_SETUP: '%CYG_CACHE%\setup.exe' matrix: - BUILDSYSTEM: VS2017 configuration: Release APPVEYOR_CACHE_SKIP_RESTORE: true APPVEYOR_CACHE_SKIP_SAVE: true - BUILDSYSTEM: cygwin64-gcc CC: gcc CXX: g++ APPVEYOR_SAVE_CACHE_ON_ERROR: true for: - matrix: only: - BUILDSYSTEM: cygwin64-gcc install: - ps: >- 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 Invoke-WebRequest $env:CYG_URL -OutFile $env:CYG_CACHED_SETUP } - cmd: >- %CYG_CACHED_SETUP% --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%" # Check that we have a working Cygwin environment before building. before_build: - "%CYG_ROOT%\\bin\\sh -lc 'echo Hello'" - "%CYG_ROOT%\\bin\\sh -lc 'uname -a'" build_script: - '%CYG_ROOT%\\bin\\bash -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && cd icu4c/source && ./runConfigureICU Cygwin && make check"' - matrix: only: - BUILDSYSTEM: VS2017 build: project: icu4c/source/allinone/allinone.sln test_script: - icu4c/source/allinone/icucheck.bat x64 Release