| # 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 |