180 lines
4.6 KiB
YAML
180 lines
4.6 KiB
YAML
language: cpp
|
|
dist: bionic
|
|
arch:
|
|
- ppc64le
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-8
|
|
env:
|
|
- COMPILER="CC=gcc-8 && CXX=g++-8"
|
|
compiler: gcc-8
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-9
|
|
env:
|
|
- COMPILER="CC=gcc-9 && CXX=g++-9"
|
|
compiler: gcc-9
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-10
|
|
env:
|
|
- COMPILER="CC=gcc-10 && CXX=g++-10"
|
|
compiler: gcc-10
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-10
|
|
env:
|
|
- COMPILER="CC=gcc-10 && CXX=g++-10"
|
|
- SANITIZE="on"
|
|
compiler: gcc-10-sanitize
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-10
|
|
env:
|
|
- COMPILER="CC=gcc-10 && CXX=g++-10"
|
|
- STATIC="on"
|
|
compiler: gcc-10-static
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-bionic-6.0
|
|
packages:
|
|
- clang-6.0
|
|
env:
|
|
- COMPILER="CC=clang-6.0 && CXX=clang++-6.0"
|
|
compiler: clang-6
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-bionic-7
|
|
packages:
|
|
- clang-7
|
|
env:
|
|
- COMPILER="CC=clang-7 && CXX=clang++-7"
|
|
compiler: clang-7
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-bionic-8
|
|
packages:
|
|
- clang-8
|
|
env:
|
|
- COMPILER="CC=clang-8 && CXX=clang++-8"
|
|
compiler: clang-8
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-bionic-9
|
|
packages:
|
|
- clang-9
|
|
env:
|
|
- COMPILER="CC=clang-9 && CXX=clang++-9"
|
|
compiler: clang-9
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-10
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
|
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
|
env:
|
|
- COMPILER="CC=clang-10 && CXX=clang++-10"
|
|
compiler: clang-10
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-10
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
|
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
|
env:
|
|
- COMPILER="CC=clang-10 && CXX=clang++-10"
|
|
- STATIC="on"
|
|
compiler: clang-10-static
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-10
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
|
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
|
env:
|
|
- COMPILER="CC=clang-10 && CXX=clang++-10"
|
|
- SANITIZE="on"
|
|
compiler: clang-10-sanitize
|
|
|
|
before_install:
|
|
- eval "${COMPILER}"
|
|
|
|
install:
|
|
- if [[ "${TRAVIS_CPU_ARCH}" == "ppc64le" ]]; then
|
|
sudo apt-get install libuv1 rhash libstdc++6;
|
|
wget https://anaconda.org/conda-forge/cmake/3.17.0/download/linux-ppc64le/cmake-3.17.0-hfb1cb51_0.tar.bz2;
|
|
mkdir $HOME/cmake;
|
|
tar -xjf cmake-3.17.0-hfb1cb51_0.tar.bz2 -C $HOME/cmake;
|
|
export PATH=$HOME/cmake/bin:$PATH;
|
|
fi
|
|
- export CMAKE_CXX_FLAGS="-maltivec -mcpu=power9 -mtune=power9"
|
|
- export CMAKE_C_FLAGS="${CMAKE_CXX_FLAGS}"
|
|
- export CMAKE_FLAGS="-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DSIMDJSON_IMPLEMENTATION=ppc64;fallback";
|
|
- if [[ "${SANITIZE}" == "on" ]]; then
|
|
export CMAKE_FLAGS="${CMAKE_FLAGS} -DSIMDJSON_SANITIZE=ON";
|
|
export ASAN_OPTIONS="detect_leaks=0";
|
|
fi
|
|
- if [[ "${STATIC}" == "on" ]]; then
|
|
export CMAKE_FLAGS="${CMAKE_FLAGS} -DSIMDJSON_BUILD_STATIC=ON";
|
|
fi
|
|
- export CTEST_FLAGS="-j4 --output-on-failure -E checkperf"
|
|
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- cmake $CMAKE_FLAGS ..
|
|
- cmake --build . -- -j2
|
|
- SIMDJSON_FORCE_IMPLEMENTATION=ppc64 ctest $CTEST_FLAGS -L per_implementation
|
|
- SIMDJSON_FORCE_IMPLEMENTATION=fallback ctest $CTEST_FLAGS -L per_implementation
|
|
- ctest $CTEST_FLAGS -LE "acceptance|per_implementation"
|