+++ /dev/null
-# 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
env:
CC: clang
CXX: clang++
+#-------------------------------------------------------------------------
+- job: ICU4C_Cygwin_GCC_x86_64_Release
+ displayName: 'C: Cygwin GCC x86_64 Release'
+ timeoutInMinutes: 120
+ pool:
+ vmImage: 'windows-2019'
+ variables:
+ 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'
+ CYG_VERSION_KEY: cygwin-3.2
+ steps:
+ # Use 'autocrlf input' since checked-in files may already be using CRLF.
+ - script: |
+ git config --global core.autocrlf input
+ displayName: 'Configure Git to checkout with Unix line endings (LF)'
+ - checkout: self
+ lfs: true
+ fetchDepth: 10
+ # Cache expires after 7 days of no activity.
+ - task: Cache@2
+ displayName: 'Restore Cygwin cache'
+ inputs:
+ # Use the contents of the file ".azure-pipelines.yml" as part of the key, as that contains the list of CYG_PACKAGES.
+ # Also include the Cygwin version as part of the key. If we want to use a newer version of Cygwin, we can update CYG_VERSION_KEY.
+ # Note: CYG_VERSION_KEY may become out of sync with (older than) the version we actually use if we update this file
+ # without updating CYG_VERSION_KEY. Any updates to this file guarantees that we're using the latest version.
+ key: '"$(CYG_VERSION_KEY)" | .ci-builds/.azure-pipelines.yml'
+ path: "$(CYG_CACHE)"
+ - task: PowerShell@2
+ displayName: 'Download Cygwin setup'
+ inputs:
+ targetType: inline
+ script: |
+ 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)."
+ }
+ - script: |
+ %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%"
+ displayName: 'Install Cygwin'
+ - script: |
+ %CYG_ROOT%\\bin\\sh -lc 'echo Hello' && %CYG_ROOT%\\bin\\sh -lc 'uname -a'
+ displayName: 'Check Cygwin environment'
+ - script: |
+ %CYG_ROOT%\\bin\\bash -lc "cd $(cygpath \"$(Build.SourcesDirectory)\") && cd icu4c/source && ./runConfigureICU Cygwin && make check"
+ displayName: 'Build and test'
+ env:
+ CC: gcc
+ CXX: g++