From 8060f2ad6f104c86b4f6ba8a59834600fa1379b5 Mon Sep 17 00:00:00 2001 From: Jack Lloyd Date: Wed, 23 Oct 2019 21:01:46 -0400 Subject: Reorganize Travis matrix. Add aarch64 and ppc64le builds --- src/scripts/ci/setup_travis.sh | 6 +- src/scripts/ci/travis.yml | 211 ++++++++++++++++++++++++----------------- 2 files changed, 131 insertions(+), 86 deletions(-) (limited to 'src/scripts/ci') diff --git a/src/scripts/ci/setup_travis.sh b/src/scripts/ci/setup_travis.sh index 50ca2c630..e8fcf3bb5 100755 --- a/src/scripts/ci/setup_travis.sh +++ b/src/scripts/ci/setup_travis.sh @@ -11,7 +11,11 @@ set -ev if [ "$TRAVIS_OS_NAME" = "linux" ]; then - if [ "$TARGET" = "valgrind" ]; then + if [ "$TARGET" = "shared" ] && [ "$TRAVIS_ARCH" = "aarch64" ]; then + sudo apt-get -qq update + sudo apt-get install liblzma-dev libbz2-dev ccache + + elif [ "$TARGET" = "valgrind" ]; then sudo apt-get -qq update sudo apt-get install valgrind diff --git a/src/scripts/ci/travis.yml b/src/scripts/ci/travis.yml index 341f2982f..015b1611a 100644 --- a/src/scripts/ci/travis.yml +++ b/src/scripts/ci/travis.yml @@ -1,109 +1,150 @@ language: cpp -os: - - osx - - linux - dist: xenial sudo: required -compiler: - - clang - - gcc - env: global: - CCACHE_MAXSIZE=1G - - ANDROID_NDK=android-ndk-r20 - - matrix: - - TARGET="shared" - - TARGET="coverage" - - TARGET="fuzzers" - - TARGET="valgrind" - - TARGET="cross-i386" - - TARGET="cross-ppc32" - - TARGET="cross-ppc64" - - TARGET="cross-arm32" - - TARGET="cross-arm64" - - TARGET="cross-mips64" - - TARGET="cross-win64" - - TARGET="cross-android-arm32" - - TARGET="cross-android-arm64" - - TARGET="gcc4.8" - - TARGET="static" - - TARGET="mini-shared" - - TARGET="bsi" - - TARGET="nist" - - TARGET="docs" - - TARGET="lint" - -matrix: - exclude: - # Skip GCC on OS X entirely - - os: osx + +jobs: + include: + - os: linux + name: Linux/GCC compiler: gcc + env: + - TARGET="shared" - # XCode 9.4 ICEs on 32-bit ARM builds - - os: osx - env: TARGET="cross-arm32" - - # Run static, docs, lint, bsi, nist, fuzzers, coverage, valgrind, - # sanitizer, minimized and non-ARM cross builds only on Linux/gcc. - # The sanitizer builds under Clang run the tests very slowly and - # cause CI timeouts. - - - compiler: clang - env: TARGET="static" - - compiler: clang - env: TARGET="bsi" - - compiler: clang - env: TARGET="nist" - - compiler: clang - env: TARGET="lint" - - compiler: clang - env: TARGET="docs" - - compiler: clang - env: TARGET="coverage" - - - compiler: clang - env: TARGET="fuzzers" - - compiler: clang - env: TARGET="valgrind" - - compiler: clang - env: TARGET="mini-shared" - - compiler: clang - env: TARGET="cross-win64" - - compiler: clang - env: TARGET="cross-ppc32" - - compiler: clang - env: TARGET="cross-ppc64" - - compiler: clang - env: TARGET="cross-mips64" - - compiler: clang - env: TARGET="cross-i386" - - compiler: clang - env: TARGET="gcc4.8" - - # No ARM Clang compiler on Linux - os: linux + name: Linux/Clang compiler: clang - env: TARGET="cross-arm32" + env: + - TARGET="shared" + - os: linux + name: Coverage + compiler: gcc + env: + - TARGET="coverage" + + - os: linux + name: Fuzzers + compiler: gcc + env: + - TARGET="fuzzers" + + - os: linux + name: Valgrind + compiler: gcc + env: + - TARGET="valgrind" + + - os: linux + name: Linux arm64 + arch: arm64 + compiler: gcc + env: + - TARGET="shared" + + - os: linux + dist: bionic + name: Linux ppc64le + arch: ppc64le + compiler: gcc + env: + - TARGET="shared" + + - os: linux + name: Linux i386 cross + compiler: gcc + env: + - TARGET="cross-i386" + + - os: linux + name: Linux ppc32 cross + compiler: gcc + env: + - TARGET="cross-ppc32" + + - os: linux + name: Linux arm32 cross + compiler: gcc + env: + - TARGET="cross-arm32" + + - os: linux + name: Linux mips64 cross + compiler: gcc + env: + - TARGET="cross-mips64" + + - os: linux + name: Android arm32 cross + compiler: clang + env: + - TARGET="cross-android-arm32" + - ANDROID_NDK=android-ndk-r20 + + - os: linux + name: Android arm64 cross compiler: clang - env: TARGET="cross-arm64" + env: + - TARGET="cross-android-arm64" + - ANDROID_NDK=android-ndk-r20 + + - os: linux + name: MinGW x86-64 cross + compiler: gcc + env: + - TARGET="cross-win64" - # Android NDK is Linux/clang only - os: osx - env: TARGET="cross-android-arm32" + name: macOS + compiler: clang + env: + - TARGET="shared" + - os: osx - env: TARGET="cross-android-arm64" + name: iOS + compiler: clang + env: + - TARGET="cross-arm64" + + - os: linux + name: Linux GCC 4.8 + compiler: gcc + env: + - TARGET="gcc4.8" + + - os: linux + name: Minimized + compiler: gcc + env: + - TARGET="mini-shared" + - os: linux + name: BSI policy compiler: gcc - env: TARGET="cross-android-arm32" + env: + - TARGET="bsi" + + - os: linux + name: NIST policy + compiler: gcc + env: + - TARGET="nist" + + - os: linux + name: Pylint + compiler: gcc + env: + - TARGET="lint" + - os: linux + name: Documentation compiler: gcc - env: TARGET="cross-android-arm64" + env: + - TARGET="docs" install: - ./src/scripts/ci/setup_travis.sh -- cgit v1.2.3