blob: d86c18135f4235379f672dc02b822aa9eff36435 [file] [log] [blame]
# 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