git: depth: false matrix: fast_finish: true include: - os: linux dist: trusty group: beta language: python sudo: false env: USE_BUNDLE=1 SW=$HOME/sw PKG_CONFIG_PATH=$SW/lib/pkgconfig LD_LIBRARY_PATH=$SW/lib PYTHON=$SW/bin/python3 addons: apt: packages: - libxi-dev - libxrandr-dev - libxinerama-dev - libxcursor-dev - libxcb-xkb-dev - libdbus-1-dev - 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 - libxcb-xkb-dev - libpng-dev - libdbus-1-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 - libxcb-xkb-dev - libpng-dev - libdbus-1-dev - python3-pil - os: linux dist: trusty group: beta sudo: false env: - RUN_FLAKE=1 BUILD_PKG=linux-package language: python python: "3.6" addons: apt: packages: - libfontconfig1-dev - libharfbuzz-dev - libxi-dev - libxrandr-dev - libxinerama-dev - libxcursor-dev - libxcb-xkb-dev - libpng-dev - libdbus-1-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=osx-bundle 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-graphite2 --without-icu4c --without-freetype; brew install imagemagick brew install optipng brew install librsvg logo/make.py else mkdir -p $SW; curl https://download.calibre-ebook.com/travis/kitty/osx.tar.xz | tar xJ -C $SW; fi else if [[ "$USE_BUNDLE" == "1" ]]; then mkdir -p $SW; curl https://download.calibre-ebook.com/travis/kitty/linux-64.tar.xz | tar xJ -C $SW; find $SW -type f -name '*.pc' -exec sed -i "s,/sw/sw,$SW,g" {} \;; find $SW -type f -name '_sysconfig*.py' -exec sed -i "s,/sw/sw,$SW,g" {} \;; 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 if [[ "$BUILD_PKG" == "linux-package" ]]; then pip install sphinx fi 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=$LD_LIBRARY_PATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH - $PYTHON setup.py build --debug --verbose $SANITIZE_ARG; script: | set -e if grep -Inr '\s$' kitty kitty_tests kittens docs *.py *.asciidoc *.rst .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" == "linux-package" ]]; then make FAIL_WARN=-W man && make FAIL_WARN=-W html; fi if [[ ! -z "$BUILD_PKG" ]]; then $PYTHON setup.py $BUILD_PKG; fi set +e