Use Painless Security signing key
[freeradius.git] / .travis.yml
index 2a59069..2844efe 100644 (file)
@@ -2,64 +2,88 @@ language: c
 compiler:
   - clang
   - gcc
+sudo: false
 env:
   global:
-    - PANIC_ACTION="gdb -silent -x raddb/panic.gdb %e %p"
-    - secure: "jiTi/FJ6jUToW5WswK1W5Xdb6kqZnduUlyeW24kfVsWpKqBakBX2bxG1Ko8XGLACaO+s7NjyrLypeoW0kuh9KBL/rvFMcU5gD1lzC+h0POwTHckaZZYkc0OmY0KIG4utPHXFJjwB9ga8wPJc5c+uBn/gREtlpjg9J1V87Rm39gM="
+    - PANIC_ACTION="gdb -batch -x raddb/panic.gdb %e %p 1>&0 2>&0"
+    - secure: "H+uQeyOgsIyXtIPPG2VzAG8S/8KYGHlHaWhdiNuz1LM3SMcEKoPqG6o/P+HO8HVvYnA6nelyGuEryV90UfuwGY9YC6A/pqPQvx/gXSso63Zt66XSaiZjulCSm9OV8EB3wyWF7VSQ/ZHcn+L01hIlsQXTqLprMaC33cM0FYPr9fY="
   matrix:
-    - LIBS_OPTIONAL=no LIBS_SHARED=yes
-    - LIBS_OPTIONAL=yes LIBS_SHARED=yes
+    - DO_BUILD=yes LIBS_OPTIONAL=no LIBS_SHARED=yes BUILD_CFLAGS="-DWITH_EVAL_DEBUG"
+    - DO_BUILD=yes LIBS_OPTIONAL=yes LIBS_SHARED=yes BUILD_CFLAGS="-DWITH_EVAL_DEBUG"
+    - DO_BUILD=yes LIBS_OPTIONAL=yes LIBS_SHARED=yes BUILD_CFLAGS="-DWITH_EVAL_DEBUG -O2 -g3"
+    - DO_BUILD=no
 addons:
   coverity_scan:
     project:
       name: FreeRADIUS/freeradius-server
       version: v3.0.x
-      description: The FreeRADIUS server project   
+      description: The FreeRADIUS server project
     notification_email: freeradius-devel@lists.freeradius.org
     build_command_prepend: ./configure
     build_command: make
-    branch_pattern: coverity_*
+    branch_pattern: coverity_scan
+  apt:
+    sources:
+      - couchbase-precise
+    packages:
+      - autoconf
+      - build-essential
+      - debhelper
+      - devscripts
+      - dh-make
+      - doxygen
+      - fakeroot
+      - gdb
+      - graphviz
+      - lintian
+      - pbuilder
+      - python-dev
+      - quilt
+      - libruby
+      - ruby-dev
+      - libcollectdclient-dev
+      - firebird-dev
+      - freetds-dev
+      - libcap-dev
+      - libcouchbase2-libevent
+      - libcouchbase-dev
+      - libcurl4-openssl-dev
+      - libgdbm-dev
+      - libhiredis-dev
+      - libidn11-dev
+      - libiodbc2-dev libiodbc2
+      - libjson0
+      - libjson0-dev
+      - libkrb5-dev
+      - libldap2-dev
+      - libmemcached-dev
+      - libmysqlclient-dev
+      - libpam0g-dev
+      - libpcap-dev
+      - libpcre3-dev
+      - libperl-dev
+      - libpq-dev
+      - libreadline-dev
+      - libsnmp-dev
+      - libssl-dev
+      - libtalloc-dev
+      - libtalloc2-dbg
+      - libunbound-dev
+      - libwbclient-dev
+      - libykclient-dev
+      - libyubikey-dev
 before_install:
-  - sudo apt-get update -qq
-  - > 
-      sudo apt-get install --no-install-recommends -qq 
-      autoconf
-      build-essential
-      debhelper
-      devscripts
-      dh-make
-      fakeroot
-      gdb 
-      lintian
-      pbuilder
-      python-dev
-      quilt
-      libruby
-      ruby-dev
-      libcollectdclient-dev
-      firebird-dev
-      freetds-dev
-      libgdbm-dev
-      libhiredis-dev
-      libidn11-dev
-      libiodbc2-dev libiodbc2
-      libjson0-dev
-      libkrb5-dev
-      libldap2-dev
-      libpam0g-dev
-      libpcap-dev
-      libpcre3-dev
-      libperl-dev
-      libpq-dev
-      libreadline-dev
-      libsnmp-dev
-      libssl-dev
-      libtalloc-dev
-      libtalloc2-dbg
-      libykclient-dev
-      libyubikey-dev
-  - sudo apt-get install -qq -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" libmysqlclient-dev
+  - $CC --version
 before_script:
-  - ./configure -C --enable-werror --prefix=$HOME/freeradius --with-shared-libs=$LIBS_SHARED --with-threads=$LIBS_OPTIONAL --with-udpfromto=$LIBS_OPTIONAL --with-openssl=$LIBS_OPTIONAL
-  - make
-script: if [ ${COVERITY_SCAN_BRANCH} != 1 ]; then make travis-test; fi
+# Configure the server
+  - if [ "${DO_BUILD}" = 'yes' ]; then CFLAGS="${BUILD_CFLAGS}" ./configure -C --enable-werror --prefix=$HOME/freeradius --with-shared-libs=$LIBS_SHARED --with-threads=$LIBS_OPTIONAL --with-udpfromto=$LIBS_OPTIONAL --with-openssl=$LIBS_OPTIONAL --with-pcre=$LIBS_OPTIONAL; fi
+  - if [ "${DO_BUILD}" = 'no' ]; then ./configure -C --without-modules; fi
+# Build the server
+  - if [ "${DO_BUILD}" = 'yes' ]; then make -j8; fi
+# Run CLANG analyzer if we're building with CLANG
+  - if [ "${DO_BUILD}" = 'yes' -a "${COVERITY_SCAN_BRANCH}" != 1 -a ${CC} = 'clang' ]; then make -j8 scan && [ "$(find build/plist/ -name *.html)" = '' ]; fi
+script:
+  - if [ "${DO_BUILD}" = 'yes' -a "${COVERITY_SCAN_BRANCH}" != 1 ]; then make travis-test; fi
+#  - if [ "${DO_BUILD}" = 'no' ]; then make deb; fi
+# Build the doxygen documentation
+  - if [ "${DO_BUILD}" = 'no' ]; then cd doc/source; doxygen 3>&1 1>&2 2>&3 | grep -iv '^warning:' | tee doxygen_stderr.log && [ ! -n "$(cat doxygen_stderr.log)" ]; fi