# AppVeyor configuration for CI Builds of ICU4C. image: Visual Studio 2017 platform: x64 # Don't clone the entire repo. clone_depth: 5 # Cache things between builds to speed things up and save bandwidth. cache: - c:\icu-ci-cache # Notes: # - The VS2017 build is disabled (commented out) below, as we build both VS2015 and VS2017 # on Azure Pipelines instead, since that is much faster. # # - For the Cygwin build, the CYG_MIRROR URL used to use the "Cygwin Time Machine" archive # in order to pull a previous version of Cygwin, v2.11.2-1 (with timestamp 1550062412). # This was done as version 3 had issues and didn't build at all. # The previous URL was: # http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2019/02/13/045332 # # In order to speed the builds up we use the "-X" or "--no-verify" option to skip checking # the signatures on packages. environment: global: 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' matrix: - BUILDSYSTEM: cygwin64-gcc CC: gcc CXX: g++ APPVEYOR_SAVE_CACHE_ON_ERROR: true # - BUILDSYSTEM: VS2017 # configuration: Release # APPVEYOR_CACHE_SKIP_RESTORE: true # APPVEYOR_CACHE_SKIP_SAVE: 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 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)." } - cmd: >- %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%" # 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