From: Daniel Ju Date: Thu, 8 Apr 2021 21:53:52 +0000 (-0700) Subject: ICU-21535 Port Cygwin CI build from AppVeyor to Azure Pipelines X-Git-Tag: cldr/2021-06-15~37 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b971a2b23ad5573b47d83674020a586ad9c0cd9;p=icu ICU-21535 Port Cygwin CI build from AppVeyor to Azure Pipelines --- diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index d86c18135f4..00000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,86 +0,0 @@ -# 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 diff --git a/.ci-builds/.azure-exhaustive-tests.yml b/.ci-builds/.azure-exhaustive-tests.yml index e6200fddd12..586c391aaee 100644 --- a/.ci-builds/.azure-exhaustive-tests.yml +++ b/.ci-builds/.azure-exhaustive-tests.yml @@ -22,7 +22,6 @@ trigger: - docs/* - tools/* - vendor/* - - .appveyor.xml - .cpyskip.txt - .travis.yml - KEYS diff --git a/.ci-builds/.azure-pipelines.yml b/.ci-builds/.azure-pipelines.yml index 4256e6246fb..a9b82435587 100644 --- a/.ci-builds/.azure-pipelines.yml +++ b/.ci-builds/.azure-pipelines.yml @@ -394,3 +394,65 @@ jobs: 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++ diff --git a/.ci-builds/.azure-valgrind.yml b/.ci-builds/.azure-valgrind.yml index dcc4fd0b78f..63d87188e42 100644 --- a/.ci-builds/.azure-valgrind.yml +++ b/.ci-builds/.azure-valgrind.yml @@ -23,7 +23,6 @@ trigger: - icu4j/* - tools/* - vendor/* - - .appveyor.xml - .cpyskip.txt - .travis.yml - KEYS diff --git a/.cpyskip.txt b/.cpyskip.txt index 9169f89e891..0e9047abf82 100644 --- a/.cpyskip.txt +++ b/.cpyskip.txt @@ -14,7 +14,6 @@ .gitignore .gitattributes .travis.yml -.appveyor.yml .ci-builds/* # PGP Keys KEYS