build matrix

This commit is contained in:
Günter Obiltschnig 2020-02-08 08:23:52 +01:00
parent 2ffb24583e
commit ed0f23b60f

View File

@ -1,23 +1,11 @@
language: cpp language: cpp
os: linux
dist: bionic
arch:
- amd64
- ppc64le
- s390x
- arm64
cache: cache:
- apt - apt
before_install: #before_install:
# we need a recent version of CMake # - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update -qq; fi
# linux prereqisite packages # - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq -y cmake libssl-dev unixodbc-dev libmysqlclient-dev g++-arm-linux-gnueabi g++-arm-linux-gnueabihf clang libc++-dev sloccount cppcheck; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update -qq; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq -y cmake libssl-dev unixodbc-dev libmysqlclient-dev g++-arm-linux-gnueabi g++-arm-linux-gnueabihf clang libc++-dev ninja-build sloccount cppcheck; fi
services: services:
- mongodb - mongodb
@ -44,6 +32,7 @@ before_script:
jobs: jobs:
include: include:
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="android API level 19" - env: TEST_NAME="android API level 19"
addons: addons:
@ -75,6 +64,7 @@ jobs:
#cd cmake-build && travis_wait 30 /opt/android-sdk/cmake/3.10.2.4988404/bin/ctest -E Foundation --output-on-failure FIXME Android emulator hangs #cd cmake-build && travis_wait 30 /opt/android-sdk/cmake/3.10.2.4988404/bin/ctest -E Foundation --output-on-failure FIXME Android emulator hangs
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="android API level 24 arm64-v8a" - env: TEST_NAME="android API level 24 arm64-v8a"
addons: addons:
@ -106,22 +96,35 @@ jobs:
#cd cmake-build && travis_wait 30 /opt/android-sdk/cmake/3.10.2.4988404/bin/ctest -E Foundation --output-on-failure FIXME Android emulator hangs #cd cmake-build && travis_wait 30 /opt/android-sdk/cmake/3.10.2.4988404/bin/ctest -E Foundation --output-on-failure FIXME Android emulator hangs
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="clang (make)" - env: TEST_NAME="clang (make)"
addons:
apt:
packages:
- libssl-dev
- unixodbc-dev
- libmysqlclient-dev
compiler: clang compiler: clang
script: script:
- ./configure --everything --omit=PDF --config=Linux-clang && make all -s -j2 && sudo make install - ./configure --everything --omit=PDF --config=Linux-clang && make all -s -j2 && sudo make install
- sudo -s ./travis/runtests.sh - sudo -s ./travis/runtests.sh
- os: linux - os: linux
- dist: bionic
- arch: - arch:
- amd64 - amd64
- ppc64le - ppc64le
- s390x - s390x
- arm64 - arm64
- env: TEST_NAME="gcc (make)" - env: TEST_NAME="gcc (make)"
addons:
apt:
packages:
- libssl-dev
- unixodbc-dev
- libmysqlclient-dev
compiler: gcc compiler: gcc
script: script:
- ./configure --everything --omit=PDF && make all -s -j2 && sudo make install - ./configure --everything --omit=PDF && make all -s -j2 && sudo make install
- sudo -s ./travis/runtests.sh - sudo -s ./travis/runtests.sh
@ -131,30 +134,64 @@ jobs:
# - ./configure --omit=PDF,Data/ODBC,Data/MySQL,Crypto,NetSSL,PageCompiler && make all -s -j2 CROSS_COMPILE=arm-linux-gnueabi- POCO_TARGET_OSARCH=armv7l # - ./configure --omit=PDF,Data/ODBC,Data/MySQL,Crypto,NetSSL,PageCompiler && make all -s -j2 CROSS_COMPILE=arm-linux-gnueabi- POCO_TARGET_OSARCH=armv7l
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="gcc (CMake)" - env: TEST_NAME="gcc (CMake)"
compiler: gcc compiler: gcc
addons:
apt:
packages:
- cmake
- libssl-dev
- unixodbc-dev
- libmysqlclient-dev
script: script:
- cmake -H. -Bcmake-build -GNinja -DENABLE_PDF=OFF -DENABLE_TESTS=ON && cmake --build cmake-build --target all && cd cmake-build && sudo -s PWD=`pwd` PATH=$PWD/cmake-3.5.1-Linux-x86_64/bin:$PATH ctest --output-on-failure -E "(DataMySQL)|(DataODBC)" - cmake -H. -Bcmake-build -GNinja -DENABLE_PDF=OFF -DENABLE_TESTS=ON && cmake --build cmake-build --target all && cd cmake-build && sudo -s PWD=`pwd` PATH=$PWD/cmake-3.5.1-Linux-x86_64/bin:$PATH ctest --output-on-failure -E "(DataMySQL)|(DataODBC)"
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="clang (CMake)" - env: TEST_NAME="clang (CMake)"
compiler: clang compiler: clang
addons:
apt:
packages:
- cmake
- libssl-dev
- unixodbc-dev
- libmysqlclient-dev
script: script:
- cmake -H. -Bcmake-build -GNinja -DENABLE_PDF=OFF -DENABLE_TESTS=ON && cmake --build cmake-build --target all && cd cmake-build && sudo -s PWD=`pwd` PATH=$PWD/cmake-3.5.1-Linux-x86_64/bin:$PATH ctest --output-on-failure -E "(DataMySQL)|(DataODBC)" - cmake -H. -Bcmake-build -GNinja -DENABLE_PDF=OFF -DENABLE_TESTS=ON && cmake --build cmake-build --target all && cd cmake-build && sudo -s PWD=`pwd` PATH=$PWD/cmake-3.5.1-Linux-x86_64/bin:$PATH ctest --output-on-failure -E "(DataMySQL)|(DataODBC)"
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="arm-linux-gnueabi-g++ (CMake)" - env: TEST_NAME="arm-linux-gnueabi-g++ (CMake)"
addons:
apt:
packages:
- cmake
- libssl-dev
- unixodbc-dev
- libmysqlclient-dev
- g++-arm-linux-gnueabi
script: script:
- export CC="arm-linux-gnueabi-gcc" - export CC="arm-linux-gnueabi-gcc"
- export CXX="arm-linux-gnueabi-g++" - export CXX="arm-linux-gnueabi-g++"
- cmake -H. -Bcmake-build -GNinja -DENABLE_PDF=OFF -DENABLE_NETSSL=OFF -DENABLE_CRYPTO=OFF -DENABLE_JWT=OFF -DENABLE_TESTS=ON && cmake --build cmake-build --target all - cmake -H. -Bcmake-build -GNinja -DENABLE_PDF=OFF -DENABLE_NETSSL=OFF -DENABLE_CRYPTO=OFF -DENABLE_JWT=OFF -DENABLE_TESTS=ON && cmake --build cmake-build --target all
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="arm-linux-gnueabihf-g++ (CMake)" - env: TEST_NAME="arm-linux-gnueabihf-g++ (CMake)"
addons:
apt:
packages:
- cmake
- libssl-dev
- unixodbc-dev
- libmysqlclient-dev
- g++-arm-linux-gnueabihf
script: script:
- export CC="arm-linux-gnueabihf-gcc" - export CC="arm-linux-gnueabihf-gcc"
- export CXX="arm-linux-gnueabihf-g++" - export CXX="arm-linux-gnueabihf-g++"
@ -172,6 +209,7 @@ jobs:
# build documentation and release # build documentation and release
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="documentation & release" - env: TEST_NAME="documentation & release"
compiler: clang compiler: clang
@ -182,30 +220,35 @@ jobs:
# QA jobs for code analytics and metrics # QA jobs for code analytics and metrics
# static code analysis with cppcheck (we can add --enable=all later) # static code analysis with cppcheck (we can add --enable=all later)
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="cppcheck" - env: TEST_NAME="cppcheck"
script: cppcheck --force --quiet --inline-suppr -j2 -iData/SQLite/src/sqlite3.c . script: cppcheck --force --quiet --inline-suppr -j2 -iData/SQLite/src/sqlite3.c .
# search for TODO within source tree # search for TODO within source tree
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="TODO" - env: TEST_NAME="TODO"
script: grep -r TODO * script: grep -r TODO *
# search for FIXME within source tree # search for FIXME within source tree
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="FIXME" - env: TEST_NAME="FIXME"
script: grep -r FIXME * script: grep -r FIXME *
# search for HACK within source tree # search for HACK within source tree
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="HACK" - env: TEST_NAME="HACK"
script: grep -r HACK * script: grep -r HACK *
# some statistics about the code base # some statistics about the code base
- os: linux - os: linux
- dist: bionic
- arch: amd64 - arch: amd64
- env: TEST_NAME="sloccount" - env: TEST_NAME="sloccount"
script: sloccount . script: sloccount .