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.
This commit is contained in:
parent
82a5959b86
commit
681a7aa451
@ -6,7 +6,7 @@ jobs:
|
||||
displayName: 'J: Linux OpenJDK (Ubuntu 16.04)'
|
||||
timeoutInMinutes: 20
|
||||
pool:
|
||||
vmImage: 'Ubuntu 16.04'
|
||||
vmImage: 'ubuntu-16.04'
|
||||
demands: ant
|
||||
steps:
|
||||
- checkout: self
|
||||
@ -26,7 +26,7 @@ jobs:
|
||||
displayName: 'C: Linux Clang (Ubuntu 16.04)'
|
||||
timeoutInMinutes: 30
|
||||
pool:
|
||||
vmImage: 'Ubuntu 16.04'
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- checkout: self
|
||||
lfs: true
|
||||
@ -42,7 +42,7 @@ jobs:
|
||||
displayName: 'C: Linux Clang WarningsAsErrors (Ubuntu 16.04)'
|
||||
timeoutInMinutes: 30
|
||||
pool:
|
||||
vmImage: 'Ubuntu 16.04'
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- checkout: self
|
||||
lfs: true
|
||||
@ -58,7 +58,7 @@ jobs:
|
||||
displayName: 'C: Linux Clang DataFilter (Ubuntu 16.04)'
|
||||
timeoutInMinutes: 30
|
||||
pool:
|
||||
vmImage: 'Ubuntu 16.04'
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- checkout: self
|
||||
lfs: true
|
||||
@ -74,6 +74,22 @@ jobs:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
#-------------------------------------------------------------------------
|
||||
- job: ICU4C_Clang_Cpp14_Debug_Ubuntu_1804
|
||||
displayName: 'C: Linux Clang C++14 Debug (Ubuntu 18.04)'
|
||||
timeoutInMinutes: 30
|
||||
pool:
|
||||
vmImage: 'ubuntu-18.04'
|
||||
steps:
|
||||
- checkout: self
|
||||
lfs: true
|
||||
fetchDepth: 1
|
||||
- script: |
|
||||
export CXXFLAGS="-std=c++14 -Winvalid-constexpr" && cd icu4c/source && ./runConfigureICU --enable-debug --disable-release Linux --disable-layout --disable-layoutex && make -j2 check
|
||||
displayName: 'Build and Test C++14'
|
||||
env:
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
#-------------------------------------------------------------------------
|
||||
- job: ICU4C_MSVC_x64_Release_Distrelease
|
||||
displayName: 'C: MSVC 64-bit Release (VS 2017) + Distrelease'
|
||||
timeoutInMinutes: 30
|
||||
|
23
.travis.yml
23
.travis.yml
@ -67,7 +67,7 @@ matrix:
|
||||
#
|
||||
# Invokes test/hdrtst to check public headers compliance.
|
||||
|
||||
- name: "c: linux gcc"
|
||||
- name: "c: linux gcc (debug)"
|
||||
dist: xenial
|
||||
language: cpp
|
||||
compiler: gcc
|
||||
@ -118,10 +118,27 @@ matrix:
|
||||
# TODO(ICU-20301): Change this back to the default Python version 3.
|
||||
script: cd icu4c/source && PYTHON=python2 ./runConfigureICU MacOSX && make -j2 check
|
||||
|
||||
# out of source gcc 8 build with c++14, runs icuinfo
|
||||
- name: "c: linux gcc 8 c++14"
|
||||
dist: bionic
|
||||
language: cpp
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-8
|
||||
env: PREFIX=/tmp/icu-prefix CC=gcc-8 CXX=g++-8 CXXFLAGS="-std=c++14"
|
||||
before_script:
|
||||
- mkdir build && cd build
|
||||
- ../icu4c/source/runConfigureICU Linux --disable-layout --disable-layoutex --prefix="${PREFIX}"
|
||||
- make -j2
|
||||
script:
|
||||
- make -j2 check && make install
|
||||
- cd "${PREFIX}/bin" && LD_LIBRARY_PATH=../lib ./icuinfo
|
||||
|
||||
# Clang Linux with address sanitizer.
|
||||
# Note - the 'sudo: true' option forces Travis to use a Virtual machine on GCE instead of
|
||||
# a Container on EC2 or Packet. Asan builds of ICU fail otherwise.
|
||||
- name: "c: linux asan"
|
||||
- name: "c: linux asan (debug)"
|
||||
language: cpp
|
||||
env:
|
||||
- CPPFLAGS="-fsanitize=address"
|
||||
@ -140,7 +157,7 @@ matrix:
|
||||
|
||||
# Clang Linux with thread sanitizer.
|
||||
#
|
||||
- name: "c: linux tsan"
|
||||
- name: "c: linux tsan (debug)"
|
||||
language: cpp
|
||||
env:
|
||||
- INTLTEST_OPTS="utility/MultithreadTest"
|
||||
|
Loading…
Reference in New Issue
Block a user