1# AppVeyor configuration for CI Builds of ICU4C. 2 3image: Visual Studio 2017 4platform: x64 5 6# Don't clone the entire repo. 7clone_depth: 1 8 9# Cache things between builds to speed things up and save bandwidth. 10cache: 11 - c:\icu-ci-cache 12 13# Notes: 14# - The VS2017 build is disabled (commented out) below, as we build both VS2015 and VS2017 15# on Azure Pipelines instead, since that is much faster. 16# 17# - For the Cygwin build, the CYG_MIRROR URL used to use the "Cygwin Time Machine" archive 18# in order to pull a previous version of Cygwin, v2.11.2-1 (with timestamp 1550062412). 19# This was done as version 3 had issues and didn't build at all. 20# The previous URL was: 21# http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2019/02/13/045332 22# 23# In order to speed the builds up we use the "-X" or "--no-verify" option to skip checking 24# the signatures on packages. 25 26environment: 27 global: 28 ICU_CI_CACHE: c:\icu-ci-cache 29 CYG_URL: https://cygwin.com/setup-x86_64.exe 30 CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/ 31 CYG_PACKAGES: automake,gcc-core,gcc-g++,make,pkg-config,perl,python3 32 CYG_ROOT: c:\cygwin-root 33 CYG_CACHE: '%ICU_CI_CACHE%\cygwin64-v3' 34 CYG_CACHED_SETUP: '%CYG_CACHE%\setup.exe' 35 36 matrix: 37 - BUILDSYSTEM: cygwin64-gcc 38 CC: gcc 39 CXX: g++ 40 APPVEYOR_SAVE_CACHE_ON_ERROR: true 41# - BUILDSYSTEM: VS2017 42# configuration: Release 43# APPVEYOR_CACHE_SKIP_RESTORE: true 44# APPVEYOR_CACHE_SKIP_SAVE: true 45 46for: 47 - 48 matrix: 49 only: 50 - BUILDSYSTEM: cygwin64-gcc 51 52 install: 53 - ps: >- 54 if ( !(Test-Path "${env:CYG_CACHED_SETUP}" -NewerThan (Get-Date).AddDays(-7)) ) 55 { 56 Write-Host "Cached Cygwin setup does not exist or is older than 7 days, downloading from external site." 57 New-Item -Force -Type Directory $env:CYG_CACHE 58 Invoke-WebRequest $env:CYG_URL -OutFile $env:CYG_CACHED_SETUP 59 } 60 - cmd: >- 61 %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%" 62 63 # Check that we have a working Cygwin environment before building. 64 before_build: 65 - "%CYG_ROOT%\\bin\\sh -lc 'echo Hello'" 66 - "%CYG_ROOT%\\bin\\sh -lc 'uname -a'" 67 68 build_script: 69 - '%CYG_ROOT%\\bin\\bash -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && cd icu4c/source && ./runConfigureICU Cygwin && make -j2 check"' 70 71# - 72# matrix: 73# only: 74# - BUILDSYSTEM: VS2017 75# 76# build: 77# project: icu4c/source/allinone/allinone.sln 78# 79# test_script: 80# - icu4c/source/allinone/icucheck.bat x64 Release 81