Skip to content

Commit

Permalink
ICU-21032 backport CI stuff
Browse files Browse the repository at this point in the history
backport of CI stuff from c163f7d
so that we can actually test this branch
  • Loading branch information
srl295 committed Mar 27, 2020
1 parent 29662a4 commit 5cf7cf0
Show file tree
Hide file tree
Showing 6 changed files with 714 additions and 0 deletions.
79 changes: 79 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# AppVeyor configuration for CI Builds of ICU4C.

image: Visual Studio 2017
platform: x64

# Don't clone the entire repo.
clone_depth: 1

# 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 below is from the "Cygwin Time Machine" archive,
# and that URL maps to the 64-bit version of Cygwin 2.11.2-1 (with timestamp 1550062412).
# This was the last release of Cygwin 2.11 before version 3.0.0 was released.
# See: http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html
#
# Note: The archived Cygwin repo does not keep or retain any file signature files, so we
# must use the "-X" or "--no-verify" option below in the setup command.

environment:
global:
ICU_CI_CACHE: c:\icu-ci-cache
CYG_URL: https://cygwin.com/setup-x86_64.exe
CYG_MIRROR: http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2019/02/13/045332
CYG_PACKAGES: automake,gcc-core,gcc-g++,make,pkg-config,perl,python3
CYG_ROOT: c:\cygwin-root
CYG_CACHE: '%ICU_CI_CACHE%\cygwin64'
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
Invoke-WebRequest $env:CYG_URL -OutFile $env:CYG_CACHED_SETUP
}
- 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
62 changes: 62 additions & 0 deletions .ci-builds/.azure-exhaustive-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Azure Pipelines configuration for Exhaustive Tests for ICU.
#
# Note: The exhaustive test configuration is in a separate file
# so that it can be run independently from the regular builds.
#
# Only run the exhaustive tests on the master and maint branches, and
# also batch up any pending changes so that we will only have at most
# one build running at a given time (since they take a long time).
trigger:
batch: true
branches:
include:
- master
- maint/maint-*

jobs:
#-------------------------------------------------------------------------
# Note: The exhaustive tests for J take longer than the C tests. They
# take roughly 85 min to complete on the Azure VMs.
- job: ICU4J_OpenJDK_Ubuntu_1604
displayName: 'J: Linux OpenJDK (Ubuntu 16.04)'
timeoutInMinutes: 100
pool:
vmImage: 'Ubuntu 16.04'
demands: ant
steps:
- checkout: self
lfs: true
fetchDepth: 1
- script: |
echo "Building ICU4J" && cd icu4j && ant init && ant exhaustiveCheck
displayName: 'Build and Exhaustive Tests'
env:
BUILD: ICU4J
- script: |
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`
condition: failed() # only run if the build fails.
displayName: 'List failures (if any)'
timeoutInMinutes: 2
#-------------------------------------------------------------------------
# Note: The exhaustive tests take roughly 65 mins to complete on the
# Azure VMs.
- job: ICU4C_Clang_Exhaustive_Ubuntu_1604
displayName: 'C: Linux Clang Exhaustive Tests (Ubuntu 16.04)'
timeoutInMinutes: 80
pool:
vmImage: 'Ubuntu 16.04'
steps:
- checkout: self
lfs: true
fetchDepth: 1
- script: |
cd icu4c/source && ./runConfigureICU Linux && make -j2
displayName: 'Build'
- script: |
cd icu4c/source && make check-exhaustive
displayName: 'Exhaustive Tests'
env:
CC: clang
CXX: clang++
#-------------------------------------------------------------------------

Loading

0 comments on commit 5cf7cf0

Please sign in to comment.