language: cpp before_script: - $PYTHON -m pip download --no-deps https://github.com/libvips/pyvips/archive/$PYVIPS_VERSION.tar.gz - tar xf $PYVIPS_VERSION.tar.gz - $PYTHON -m pip install --user --upgrade pyvips-$PYVIPS_VERSION/[test] - ./autogen.sh --disable-dependency-tracking --with-jpeg-includes=$JPEG/include --with-jpeg-libraries=$JPEG/lib - make -j$JOBS -s script: - make -j$JOBS -s -k V=0 VERBOSE=1 check - LD_LIBRARY_PATH=$PWD/libvips/.libs DYLD_LIBRARY_PATH=$PWD/libvips/.libs LD_PRELOAD=$ASAN_DSO $PYTHON -m pytest -v test/test-suite matrix: allow_failures: - os: osx fast_finish: true include: - os: linux sudo: required dist: xenial compiler: gcc env: - PYTHON=python2 - PYVIPS_VERSION=master - JPEG=/usr - JOBS=`nproc` cache: ccache - os: linux sudo: required dist: xenial compiler: clang env: - PYTHON=python2 - PYVIPS_VERSION=master - JPEG=/usr - JOBS=`nproc` - CFLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer -fopenmp -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" - LDFLAGS="-fsanitize=address,undefined -dynamic-asan -fopenmp=libiomp5" - ASAN_DSO=/usr/local/clang-7.0.0/lib/clang/7.0.0/lib/linux/libclang_rt.asan-x86_64.so - LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/suppressions/lsan.supp" - UBSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/suppressions/ubsan.supp" # comment these out, I get strange parse errors from asan for some # reason # # ASAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/suppressions/asan.supp" install: # add support for WebP - wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebp-dev_0.6.1-2_amd64.deb - wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebpdemux2_0.6.1-2_amd64.deb - wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebpmux3_0.6.1-2_amd64.deb - wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebp6_0.6.1-2_amd64.deb - sudo dpkg -i *.deb cache: ccache - os: osx osx_image: xcode10.1 env: - PYTHON=python2 - PYVIPS_VERSION=master - JPEG=/usr/local - JOBS="`sysctl -n hw.ncpu`" - PATH="/usr/local/opt/ccache/libexec:$PATH" - HOMEBREW_NO_AUTO_UPDATE=1 cache: ccache addons: apt: update: true sources: # use a more recent imagemagick instead of 6.8.9-9 - sourceline: 'ppa:opencpu/imagemagick' # add support for HEIF files - sourceline: 'ppa:strukturag/libheif' - sourceline: 'ppa:strukturag/libde265' packages: - automake - gtk-doc-tools - gobject-introspection - libfftw3-dev - libexif-dev - libjpeg-turbo8-dev - libpng12-dev - libwebp-dev # missing on xenial, unfortunately # - libwebpmux2 - libtiff5-dev - libheif-dev - libexpat1-dev - libmagick++-dev - bc - libcfitsio3-dev - libgsl0-dev - libmatio-dev - liborc-0.4-dev - liblcms2-dev - libpoppler-glib-dev - librsvg2-dev - libgif-dev - libopenexr-dev - libpango1.0-dev - libgsf-1-dev - libopenslide-dev - libffi-dev - libiomp-dev homebrew: packages: - ccache - gtk-doc - gobject-introspection - fftw - libexif - webp - imagemagick - cfitsio - gsl - libmatio - orc - little-cms2 - poppler - librsvg - openexr - pango - libgsf - openslide