Skip to content

Commit 681a7aa

Browse files
committed
ICU-21104 Add build bots using Ubuntu 18.04 with C++14
This change adds an Azure build bot that builds using Clang on Ubuntu 18.04 with C++14 in debug mode, and a build bot on Travis that builds using GCC with C++14. Note: The Ubuntu 18.04 image doesn't have HarfBuzz, so we need to disable building the layout engine.
1 parent 82a5959 commit 681a7aa

File tree

2 files changed

+40
-7
lines changed

2 files changed

+40
-7
lines changed

.ci-builds/.azure-pipelines.yml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
displayName: 'J: Linux OpenJDK (Ubuntu 16.04)'
77
timeoutInMinutes: 20
88
pool:
9-
vmImage: 'Ubuntu 16.04'
9+
vmImage: 'ubuntu-16.04'
1010
demands: ant
1111
steps:
1212
- checkout: self
@@ -26,7 +26,7 @@ jobs:
2626
displayName: 'C: Linux Clang (Ubuntu 16.04)'
2727
timeoutInMinutes: 30
2828
pool:
29-
vmImage: 'Ubuntu 16.04'
29+
vmImage: 'ubuntu-16.04'
3030
steps:
3131
- checkout: self
3232
lfs: true
@@ -42,7 +42,7 @@ jobs:
4242
displayName: 'C: Linux Clang WarningsAsErrors (Ubuntu 16.04)'
4343
timeoutInMinutes: 30
4444
pool:
45-
vmImage: 'Ubuntu 16.04'
45+
vmImage: 'ubuntu-16.04'
4646
steps:
4747
- checkout: self
4848
lfs: true
@@ -58,7 +58,7 @@ jobs:
5858
displayName: 'C: Linux Clang DataFilter (Ubuntu 16.04)'
5959
timeoutInMinutes: 30
6060
pool:
61-
vmImage: 'Ubuntu 16.04'
61+
vmImage: 'ubuntu-16.04'
6262
steps:
6363
- checkout: self
6464
lfs: true
@@ -74,6 +74,22 @@ jobs:
7474
CC: clang
7575
CXX: clang++
7676
#-------------------------------------------------------------------------
77+
- job: ICU4C_Clang_Cpp14_Debug_Ubuntu_1804
78+
displayName: 'C: Linux Clang C++14 Debug (Ubuntu 18.04)'
79+
timeoutInMinutes: 30
80+
pool:
81+
vmImage: 'ubuntu-18.04'
82+
steps:
83+
- checkout: self
84+
lfs: true
85+
fetchDepth: 1
86+
- script: |
87+
export CXXFLAGS="-std=c++14 -Winvalid-constexpr" && cd icu4c/source && ./runConfigureICU --enable-debug --disable-release Linux --disable-layout --disable-layoutex && make -j2 check
88+
displayName: 'Build and Test C++14'
89+
env:
90+
CC: clang
91+
CXX: clang++
92+
#-------------------------------------------------------------------------
7793
- job: ICU4C_MSVC_x64_Release_Distrelease
7894
displayName: 'C: MSVC 64-bit Release (VS 2017) + Distrelease'
7995
timeoutInMinutes: 30

.travis.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ matrix:
6767
#
6868
# Invokes test/hdrtst to check public headers compliance.
6969

70-
- name: "c: linux gcc"
70+
- name: "c: linux gcc (debug)"
7171
dist: xenial
7272
language: cpp
7373
compiler: gcc
@@ -118,10 +118,27 @@ matrix:
118118
# TODO(ICU-20301): Change this back to the default Python version 3.
119119
script: cd icu4c/source && PYTHON=python2 ./runConfigureICU MacOSX && make -j2 check
120120

121+
# out of source gcc 8 build with c++14, runs icuinfo
122+
- name: "c: linux gcc 8 c++14"
123+
dist: bionic
124+
language: cpp
125+
addons:
126+
apt:
127+
packages:
128+
- g++-8
129+
env: PREFIX=/tmp/icu-prefix CC=gcc-8 CXX=g++-8 CXXFLAGS="-std=c++14"
130+
before_script:
131+
- mkdir build && cd build
132+
- ../icu4c/source/runConfigureICU Linux --disable-layout --disable-layoutex --prefix="${PREFIX}"
133+
- make -j2
134+
script:
135+
- make -j2 check && make install
136+
- cd "${PREFIX}/bin" && LD_LIBRARY_PATH=../lib ./icuinfo
137+
121138
# Clang Linux with address sanitizer.
122139
# Note - the 'sudo: true' option forces Travis to use a Virtual machine on GCE instead of
123140
# a Container on EC2 or Packet. Asan builds of ICU fail otherwise.
124-
- name: "c: linux asan"
141+
- name: "c: linux asan (debug)"
125142
language: cpp
126143
env:
127144
- CPPFLAGS="-fsanitize=address"
@@ -140,7 +157,7 @@ matrix:
140157

141158
# Clang Linux with thread sanitizer.
142159
#
143-
- name: "c: linux tsan"
160+
- name: "c: linux tsan (debug)"
144161
language: cpp
145162
env:
146163
- INTLTEST_OPTS="utility/MultithreadTest"

0 commit comments

Comments
 (0)