mirror of
https://github.com/json-c/json-c.git
synced 2026-04-05 13:29:06 +08:00
Merge pull request #499 from andy5995/travis_valgrind
.travis.yml:test on more recent clang and gcc versions
This commit is contained in:
118
.travis.yml
118
.travis.yml
@@ -1,32 +1,116 @@
|
|||||||
language: cpp
|
language: cpp
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
# gcc
|
||||||
|
# xenial
|
||||||
|
# gcc 5 is the default on xenial
|
||||||
|
- os: linux
|
||||||
|
dist: xenial
|
||||||
|
compiler: gcc
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- valgrind
|
||||||
|
- cppcheck
|
||||||
|
- doxygen
|
||||||
|
env: CHECK="true"
|
||||||
|
# bionic
|
||||||
|
- os: linux
|
||||||
|
dist: bionic
|
||||||
|
compiler: gcc
|
||||||
|
env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
|
||||||
|
|
||||||
|
# gcc 7 is the default on bionic
|
||||||
|
- os: linux
|
||||||
|
dist: bionic
|
||||||
|
compiler: gcc
|
||||||
|
env: CHECK="true"
|
||||||
|
- os: linux
|
||||||
|
dist: bionic
|
||||||
|
compiler: gcc
|
||||||
|
env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
|
||||||
|
|
||||||
compiler:
|
# clang
|
||||||
- gcc
|
# xenial
|
||||||
- clang
|
- os: linux
|
||||||
|
dist: xenial
|
||||||
|
compiler: clang
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- llvm-toolchain-xenial-5.0
|
||||||
|
packages:
|
||||||
|
- clang-5.0
|
||||||
|
env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
|
||||||
|
- os: linux
|
||||||
|
dist: xenial
|
||||||
|
compiler: clang
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- llvm-toolchain-xenial-6.0
|
||||||
|
packages:
|
||||||
|
- clang-6.0
|
||||||
|
env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
|
||||||
|
|
||||||
addons:
|
# clang-7 is the default on xenial and bionic
|
||||||
apt:
|
- os: linux
|
||||||
packages:
|
dist: xenial
|
||||||
- cppcheck
|
compiler: clang
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- valgrind
|
||||||
|
- cppcheck
|
||||||
|
- doxygen
|
||||||
|
env: CHECK="true"
|
||||||
|
|
||||||
os:
|
# bionic
|
||||||
- linux
|
- os: linux
|
||||||
- osx
|
dist: bionic
|
||||||
|
compiler: clang
|
||||||
|
env: CHECK="true"
|
||||||
|
# osx
|
||||||
|
- os: osx
|
||||||
|
osx_image: xcode9.4
|
||||||
|
env: XCODE="true"
|
||||||
|
- os: osx
|
||||||
|
osx_image: xcode10.1
|
||||||
|
env: XCODE="true" CHECK="true"
|
||||||
|
|
||||||
before_install:
|
# allow_failures:
|
||||||
- echo $LANG
|
# - os: osx
|
||||||
- echo $LC_ALL
|
|
||||||
- set -e
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- sh autogen.sh
|
- sh autogen.sh
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- echo $CC
|
||||||
|
- echo $LANG
|
||||||
|
- echo $LC_ALL
|
||||||
|
- set -e
|
||||||
|
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||||
|
eval "${MATRIX_EVAL}";
|
||||||
|
if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then
|
||||||
|
sudo apt-get install -y $CC;
|
||||||
|
fi;
|
||||||
|
fi
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- ./configure
|
- ./configure
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- make
|
- make
|
||||||
|
# when using bionic, Travis seems to ignore the "addons" section, so installing the packages with apt-get...
|
||||||
|
- if [ -n "$CHECK" ]; then
|
||||||
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||||
|
brew install doxygen;
|
||||||
|
else
|
||||||
|
if [ "$TRAVIS_DIST" = "bionic" ]; then
|
||||||
|
sudo apt-get install -y valgrind cppcheck doxygen;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
make distcheck;
|
||||||
|
if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;
|
||||||
|
fi
|
||||||
|
|
||||||
after_success:
|
|
||||||
- make check
|
|
||||||
- if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi
|
|
||||||
|
|||||||
Reference in New Issue
Block a user