matrix: fast_finish: true include: - os: linux dist: trusty group: beta sudo: false env: - CC=gcc CFLAGS=-funsigned-char SANITIZE_ARG=--sanitize language: python python: "3.5" addons: apt: packages: - libfontconfig1-dev - libharfbuzz-dev - libxi-dev - libxrandr-dev - libxinerama-dev - libxcursor-dev - libunistring-dev - libxcb-xkb-dev - libpng-dev - python3-pil - os: linux dist: trusty group: beta sudo: false env: - CC=clang SANITIZE_ARG=--sanitize language: python python: "3.5" addons: apt: packages: - libfontconfig1-dev - libharfbuzz-dev - libxi-dev - libxrandr-dev - libxinerama-dev - libxcursor-dev - libunistring-dev - libxcb-xkb-dev - libpng-dev - python3-pil - os: linux dist: trusty group: beta sudo: false env: - RUN_FLAKE=1 BUILD_PKG=1 language: python python: "3.6" addons: apt: packages: - libfontconfig1-dev - libharfbuzz-dev - libxi-dev - libxrandr-dev - libxinerama-dev - libxcursor-dev - libunistring-dev - libxcb-xkb-dev - libpng-dev - python3-pil - clang - os: osx language: generic env: SWBASE=/Users/Shared/buildbot/sw SW=$SWBASE/sw PATH=$SW/bin:$PATH - os: osx language: generic env: USE_BREW=1 BUILD_PKG=1 env: global: - PYTHON=python3 - PKG_CONFIG_PATH=$HOME/harfbuzz/lib/pkgconfig:$PKG_CONFIG_PATH - LD_LIBRARY_PATH=$HOME/harfbuzz/lib:$LD_LIBRARY_PATH - ASAN_OPTIONS=leak_check_at_exit=0 install: | set -e if [[ "$RUN_FLAKE" == "1" ]]; then pip install flake8; fi if [[ "$TRAVIS_OS_NAME" == 'osx' ]]; then if [[ "$USE_BREW" == "1" ]]; then brew update; brew upgrade python; brew install harfbuzz --without-glib --without-gobject-introspection --without-graphite2 --without-icu4c --without-freetype; else mkdir -p $SW; curl https://download.calibre-ebook.com/travis/kitty/osx.tar.xz | tar xJ -C $SW; fi else pushd /tmp wget --no-check-certificate http://xkbcommon.org/download/libxkbcommon-0.6.1.tar.xz tar xf libxkbcommon-0.6.1.tar.xz cd libxkbcommon-0.6.1 ./configure --prefix=$HOME/harfbuzz --disable-dependency-tracking --disable-static make -j2 make install wget https://github.com/behdad/harfbuzz/releases/download/1.6.3/harfbuzz-1.6.3.tar.bz2 tar xf harfbuzz-1.6.3.tar.bz2 cd harfbuzz-1.6.3 ./configure --prefix=$HOME/harfbuzz --disable-dependency-tracking --disable-static --with-glib=no --with-gobject=no --with-cairo=no --with-fontconfig=no --with-icu=no --with-directwrite=no --with-freetype=yes make -j2 make install cd .. popd fi pkg-config --cflags harfbuzz if [[ "$TRAVIS_OS_NAME" != 'osx' ]]; then PLIB=$(ldd `which python` | grep libpython | cut -d ' ' -f 3) export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`dirname $PLIB` fi set +e before_script: - echo $LD_LIBRARY_PATH - $PYTHON setup.py build --debug --verbose $SANITIZE_ARG; script: - if grep -Inr '\s$' kitty kitty_tests *.py *.asciidoc .gitattributes .gitignore; then echo Trailing whitespace found, aborting.; exit 1; fi - if [[ -z $SANITIZE_ARG ]]; then $PYTHON test.py; else ./asan-launcher test.py; fi - if [[ "$RUN_FLAKE" == "1" ]]; then flake8 --count .; fi - if [[ "$BUILD_PKG" == "1" ]]; then $PYTHON setup.py linux-package; fi