]> git.ipfire.org Git - thirdparty/json-c.git/commitdiff
test for more compilers
authorandy5995 <andy400-dev@yahoo.com>
Wed, 24 Jul 2019 19:13:23 +0000 (14:13 -0500)
committerandy5995 <andy400-dev@yahoo.com>
Sat, 27 Jul 2019 03:24:12 +0000 (22:24 -0500)
.travis.yml

index 91ee2891e14dc94188ff5d8d9aaccb043c03f570..acad3fd2ad899526ccbd060bc0ac606a6eb65db3 100644 (file)
@@ -1,26 +1,87 @@
-language: cpp\r
+language: c\r
+cache: ccache\r
+matrix:\r
+# gcc\r
+  include:\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: gcc\r
+      addons:\r
+        apt:\r
+          packages:\r
+            - valgrind\r
+            - cppcheck\r
+      env: CHECK="true"\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: gcc\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: gcc\r
+      env: MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: gcc\r
+      env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: gcc\r
+      env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"\r
 \r
-compiler:\r
-  - gcc\r
-  - clang\r
+# clang\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: clang\r
+      addons:\r
+        apt:\r
+          sources:\r
+            - llvm-toolchain-xenial-5.0\r
+          packages:\r
+            - clang-5.0\r
+      env: MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: clang\r
+      addons:\r
+        apt:\r
+          sources:\r
+            - llvm-toolchain-xenial-6.0\r
+          packages:\r
+            - clang-6.0\r
+            - cppcheck\r
+      env: MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"\r
+    # The default clang on xenial is clang 7.0\r
+    - os: linux\r
+      dist: xenial\r
+      compiler: clang\r
+# osx\r
+    - os: osx\r
+      osx_image: xcode9.4\r
+      env: XCODE="true"\r
+    - os: osx\r
+      osx_image: xcode10.1\r
+      env: XCODE="true" CHECK="true"\r
 \r
-addons:\r
-  apt:\r
-    packages:\r
-      - cppcheck\r
-      - valgrind\r
+#  allow_failures:\r
+#    - os: osx\r
 \r
-os:\r
-  - linux\r
-  - osx\r
+install:\r
+  - sh autogen.sh\r
 \r
 before_install:\r
+  - echo $CC\r
   - echo $LANG\r
   - echo $LC_ALL\r
   - set -e\r
-\r
-install:\r
-  - sh autogen.sh\r
+  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then\r
+      eval "${MATRIX_EVAL}";\r
+      if [ -n "$MATRIX_EVAL" ] && [ "$TRAVIS_COMPILER" != "clang" ]; then\r
+        sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157;\r
+        sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test;\r
+        sudo apt-get update -qq;\r
+        sudo apt-get install -y $CC;\r
+      fi;\r
+    fi\r
 \r
 before_script:\r
   - ./configure\r
@@ -29,9 +90,13 @@ script:
   - make\r
 \r
 after_success:\r
-  - make check ; result=$?\r
-  - if [ $result != 0 ]; then\r
-      cat tests/*.log;\r
+  - if [ -n "$CHECK" ]; then\r
+      make distcheck;\r
+      result=$?;\r
+      if [ $result != 0 ]; then\r
+        cat tests/*.log;\r
+        exit $result;\r
+      fi;\r
+      if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi;\r
     fi\r
-  - if type cppcheck &> /dev/null ; then cppcheck --error-exitcode=1 --quiet *.h *.c tests/ ; fi\r
-  - exit $result\r
+\r