xref: /third_party/icu/.appveyor.yml (revision 2e5b6d6d)
12e5b6d6dSopenharmony_ci# AppVeyor configuration for CI Builds of ICU4C.
22e5b6d6dSopenharmony_ci
32e5b6d6dSopenharmony_ciimage: Visual Studio 2017
42e5b6d6dSopenharmony_ciplatform: x64
52e5b6d6dSopenharmony_ci
62e5b6d6dSopenharmony_ci# Don't clone the entire repo.
72e5b6d6dSopenharmony_ciclone_depth: 1
82e5b6d6dSopenharmony_ci
92e5b6d6dSopenharmony_ci# Cache things between builds to speed things up and save bandwidth.
102e5b6d6dSopenharmony_cicache:
112e5b6d6dSopenharmony_ci  - c:\icu-ci-cache
122e5b6d6dSopenharmony_ci
132e5b6d6dSopenharmony_ci# Notes:
142e5b6d6dSopenharmony_ci#  - The VS2017 build is disabled (commented out) below, as we build both VS2015 and VS2017
152e5b6d6dSopenharmony_ci#    on Azure Pipelines instead, since that is much faster.
162e5b6d6dSopenharmony_ci#
172e5b6d6dSopenharmony_ci#  - For the Cygwin build, the CYG_MIRROR URL used to use the "Cygwin Time Machine" archive
182e5b6d6dSopenharmony_ci#    in order to pull a previous version of Cygwin, v2.11.2-1 (with timestamp 1550062412).
192e5b6d6dSopenharmony_ci#    This was done as version 3 had issues and didn't build at all.
202e5b6d6dSopenharmony_ci#    The previous URL was:
212e5b6d6dSopenharmony_ci#      http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2019/02/13/045332
222e5b6d6dSopenharmony_ci#
232e5b6d6dSopenharmony_ci#    In order to speed the builds up we use the "-X" or "--no-verify" option to skip checking
242e5b6d6dSopenharmony_ci#    the signatures on packages.
252e5b6d6dSopenharmony_ci
262e5b6d6dSopenharmony_cienvironment:
272e5b6d6dSopenharmony_ci  global:
282e5b6d6dSopenharmony_ci    ICU_CI_CACHE: c:\icu-ci-cache
292e5b6d6dSopenharmony_ci    CYG_URL: https://cygwin.com/setup-x86_64.exe
302e5b6d6dSopenharmony_ci    CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
312e5b6d6dSopenharmony_ci    CYG_PACKAGES: automake,gcc-core,gcc-g++,make,pkg-config,perl,python3
322e5b6d6dSopenharmony_ci    CYG_ROOT: c:\cygwin-root
332e5b6d6dSopenharmony_ci    CYG_CACHE: '%ICU_CI_CACHE%\cygwin64-v3'
342e5b6d6dSopenharmony_ci    CYG_CACHED_SETUP: '%CYG_CACHE%\setup.exe'
352e5b6d6dSopenharmony_ci
362e5b6d6dSopenharmony_ci  matrix:
372e5b6d6dSopenharmony_ci    - BUILDSYSTEM: cygwin64-gcc
382e5b6d6dSopenharmony_ci      CC: gcc
392e5b6d6dSopenharmony_ci      CXX: g++
402e5b6d6dSopenharmony_ci      APPVEYOR_SAVE_CACHE_ON_ERROR: true
412e5b6d6dSopenharmony_ci#    - BUILDSYSTEM: VS2017
422e5b6d6dSopenharmony_ci#      configuration: Release
432e5b6d6dSopenharmony_ci#      APPVEYOR_CACHE_SKIP_RESTORE: true
442e5b6d6dSopenharmony_ci#      APPVEYOR_CACHE_SKIP_SAVE: true
452e5b6d6dSopenharmony_ci
462e5b6d6dSopenharmony_cifor:
472e5b6d6dSopenharmony_ci  -
482e5b6d6dSopenharmony_ci    matrix:
492e5b6d6dSopenharmony_ci      only:
502e5b6d6dSopenharmony_ci        - BUILDSYSTEM: cygwin64-gcc
512e5b6d6dSopenharmony_ci
522e5b6d6dSopenharmony_ci    install:
532e5b6d6dSopenharmony_ci      - ps: >-
542e5b6d6dSopenharmony_ci          if ( !(Test-Path "${env:CYG_CACHED_SETUP}" -NewerThan (Get-Date).AddDays(-7)) )
552e5b6d6dSopenharmony_ci          {
562e5b6d6dSopenharmony_ci            Write-Host "Cached Cygwin setup does not exist or is older than 7 days, downloading from external site."
572e5b6d6dSopenharmony_ci            New-Item -Force -Type Directory $env:CYG_CACHE
582e5b6d6dSopenharmony_ci            Invoke-WebRequest $env:CYG_URL -OutFile $env:CYG_CACHED_SETUP
592e5b6d6dSopenharmony_ci          }
602e5b6d6dSopenharmony_ci      - cmd: >-
612e5b6d6dSopenharmony_ci          %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%"
622e5b6d6dSopenharmony_ci
632e5b6d6dSopenharmony_ci    # Check that we have a working Cygwin environment before building.
642e5b6d6dSopenharmony_ci    before_build:
652e5b6d6dSopenharmony_ci      - "%CYG_ROOT%\\bin\\sh -lc 'echo Hello'"
662e5b6d6dSopenharmony_ci      - "%CYG_ROOT%\\bin\\sh -lc 'uname -a'"
672e5b6d6dSopenharmony_ci
682e5b6d6dSopenharmony_ci    build_script:
692e5b6d6dSopenharmony_ci      - '%CYG_ROOT%\\bin\\bash -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && cd icu4c/source && ./runConfigureICU Cygwin && make -j2 check"'
702e5b6d6dSopenharmony_ci
712e5b6d6dSopenharmony_ci#  -
722e5b6d6dSopenharmony_ci#    matrix:
732e5b6d6dSopenharmony_ci#      only:
742e5b6d6dSopenharmony_ci#        - BUILDSYSTEM: VS2017
752e5b6d6dSopenharmony_ci#
762e5b6d6dSopenharmony_ci#    build:
772e5b6d6dSopenharmony_ci#      project: icu4c/source/allinone/allinone.sln
782e5b6d6dSopenharmony_ci#
792e5b6d6dSopenharmony_ci#    test_script:
802e5b6d6dSopenharmony_ci#      - icu4c/source/allinone/icucheck.bat x64 Release
81