language: python sudo: false notifications: slack: on_success: never on_failure: never email: on_success: never # default: change on_failure: never # default: always cache: pip: true env: global: - DEPS=$HOME/deps - PATH=$DEPS/bin:$PATH matrix: - LINT=vimlint-errors - LINT=vimlint - LINT=vint-errors - LINT=vint - LINT=vader matrix: allow_failures: - env: LINT=vimlint - env: LINT=vint install: - | set -e if [ "${LINT#vimlint}" != "$LINT" ]; then git clone --depth=1 https://github.com/syngan/vim-vimlint /tmp/vimlint git clone --depth=1 https://github.com/ynkdir/vim-vimlparser /tmp/vimlparser elif [ "${LINT#vint}" != "$LINT" ]; then virtualenv /tmp/vint && source /tmp/vint/bin/activate && pip install vim-vint elif [ "${LINT#vader}" != "$LINT" ]; then git clone --depth=1 https://github.com/Shougo/dein.vim.git ~/.cache/vimfiles/repos/github.com/Shougo/dein.vim C_OPTS="--prefix=$DEPS --with-features=huge --disable-gui --enable-pythoninterp" (git clone --depth 1 https://github.com/vim/vim /tmp/vim && cd /tmp/vim && ./configure $C_OPTS && make install) fi script: - | set -ex if [ "$LINT" = "vimlint" ]; then for file in $(git diff --name-only HEAD dev | grep .vim$); do sh /tmp/vimlint/bin/vimlint.sh -l /tmp/vimlint -p /tmp/vimlparser $file; done elif [ "$LINT" = "vimlint-errors" ]; then for file in $(git diff --name-only HEAD dev | grep .vim$); do sh /tmp/vimlint/bin/vimlint.sh -E -l /tmp/vimlint -p /tmp/vimlparser $file; done elif [ "$LINT" = "vint" ]; then vint . elif [ "$LINT" = "vint-errors" ]; then vint --error . elif [ "$LINT" = "vader" ]; then pip install covimerage make test_coverage covimerage -vv xml --omit 'build/*' pip install codecov codecov -X search gcov pycov -f coverage.xml fi set +x