]> granicus.if.org Git - icu/commitdiff
ICU-21535 Port Cygwin CI build from AppVeyor to Azure Pipelines
authorDaniel Ju <daju@microsoft.com>
Thu, 8 Apr 2021 21:53:52 +0000 (14:53 -0700)
committerDaniel Ju <41210545+daniel-ju@users.noreply.github.com>
Fri, 9 Apr 2021 00:04:07 +0000 (17:04 -0700)
.appveyor.yml [deleted file]
.ci-builds/.azure-exhaustive-tests.yml
.ci-builds/.azure-pipelines.yml
.ci-builds/.azure-valgrind.yml
.cpyskip.txt

diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644 (file)
index d86c181..0000000
+++ /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
index e6200fddd1289f4cbbf876e2808ef1e25ed6eda2..586c391aaee5120adcd982d9d768f58246161565 100644 (file)
@@ -22,7 +22,6 @@ trigger:
     - docs/*
     - tools/*
     - vendor/*
-    - .appveyor.xml
     - .cpyskip.txt
     - .travis.yml
     - KEYS
index 4256e6246fbd4798dc9b9dc15f221d555b1a0785..a9b82435587522908d85e5ece167f1127cb7a9b9 100644 (file)
@@ -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++
index dcc4fd0b78fabc43507c9bf4b7395b96ab021eed..63d87188e428cdb8268e6406a1a2a3b8d6b7a89b 100644 (file)
@@ -23,7 +23,6 @@ trigger:
     - icu4j/*
     - tools/*
     - vendor/*
-    - .appveyor.xml
     - .cpyskip.txt
     - .travis.yml
     - KEYS
index 9169f89e891e78dc1f63d88fd6f79f46e7ef86cc..0e9047abf829b9363ac2277f08ecf0ddbc3b8e63 100644 (file)
@@ -14,7 +14,6 @@
 .gitignore
 .gitattributes
 .travis.yml
-.appveyor.yml
 .ci-builds/*
 # PGP Keys
 KEYS