matrix: include: - name: "j" language: java env: BUILD=ICU4J before_script: - cd icu4j - ant init script: - ant check after_failure: - cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;` # gcc debug build. # Includes dependency checker. # Note - the dependency checker needs to be run on both a debug and an optimized build. # This one (gcc) for debug, and linux clang (below) for optimized. - name: "c: linux gcc" language: cpp compiler: gcc before_script: - cd icu4c/source - ./runConfigureICU --enable-debug --disable-release Linux - make -j2 script: - make -j2 check - ( cd test/depstest && ./depstest.py ../../../source/ ) - name: "c: linux clang" language: cpp compiler: clang before_script: - cd icu4c/source - ./runConfigureICU Linux - make -j2 script: - make -j2 check - ( cd test/depstest && ./depstest.py ../../../source/ ) - name: "c: osx clang" language: cpp env: BUILD=MACINTOSH os: osx compiler: clang # Use the macOS target to test Python 2 in data build script. # TODO(ICU-20301): Change this back to the default Python version 3. script: cd icu4c/source && PYTHON=python2 ./runConfigureICU MacOSX && make -j2 check # 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" language: cpp env: BUILD=ICU4C_CLANG_ASAN os: linux dist: trusty sudo: true compiler: clang addons: apt: update: true sources: - llvm-toolchain-trusty-5.0 packages: - clang-5.0 script: - cd icu4c/source && CPPFLAGS="-fsanitize=address" LDFLAGS="-fsanitize=address" ./runConfigureICU --enable-debug --disable-release Linux --disable-renaming && make -j2 check # Clang Linux with thread sanitizer. # - name: "c: linux tsan" language: cpp env: - BUILD=ICU4C_CLANG_THREAD_SAN - INTLTEST_OPTS="utility/MultithreadTest rbbi/RBBIMonkeyTest format/CalendarLimitTest" - CPPFLAGS="-fsanitize=thread" - LDFLAGS=-fsanitize=thread os: linux dist: trusty sudo: true compiler: clang addons: apt: update: true sources: - llvm-toolchain-trusty-5.0 packages: - clang-5.0 script: - cd icu4c/source && ./runConfigureICU --enable-debug --disable-release Linux --disable-renaming && make -j2 && make -j2 -C test && make -j2 -C test/intltest check # copyright scan / future linter - name: "lint" script: - perl tools/scripts/cpysearch/cpyscan.pl