76 lines
1.8 KiB
YAML
76 lines
1.8 KiB
YAML
language: generic
|
|
sudo: false
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/opt
|
|
|
|
env:
|
|
global:
|
|
- OPT=$HOME/opt
|
|
- CACHE=$OPT/cache
|
|
- BREWCACHE=$HOME/Library/Caches/Homebrew
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
dist: focal
|
|
env: VIM=vim VIMPROG=$OPT/bin/$VIM
|
|
- os: linux
|
|
dist: focal
|
|
env: VIM=nvim VIMPROG=$VIM
|
|
- os: osx
|
|
osx_image: xcode12
|
|
env: VIM=vim PACKAGE=vim VIMPROG=$VIM
|
|
- os: osx
|
|
osx_image: xcode12
|
|
env: VIM=nvim PACKAGE=neovim VIMPROG=$VIM
|
|
|
|
|
|
install: |
|
|
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
|
if [ "$VIM" = "vim" ]; then
|
|
git clone --depth 1 https://github.com/vim/vim
|
|
cd vim
|
|
echo -n 'Vim version: '
|
|
git describe --tags | tee vim-ver.txt
|
|
if [ -e $OPT/vim-ver.txt ]; then
|
|
if diff $OPT/vim-ver.txt vim-ver.txt; then
|
|
cd -
|
|
return
|
|
fi
|
|
fi
|
|
./configure --prefix=$OPT --with-features=huge --disable-gui
|
|
make
|
|
make install
|
|
cp vim-ver.txt $OPT
|
|
cd -
|
|
elif [ "$VIM" = "nvim" ]; then
|
|
# https://github.com/neovim/bot-ci#setting-up-integration-builds
|
|
eval "$(curl -Ss https://raw.githubusercontent.com/neovim/bot-ci/master/scripts/travis-setup.sh) nightly-x64"
|
|
fi
|
|
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|
if [ -d $CACHE ]; then
|
|
if [ "$(echo $CACHE/*)" != "$CACHE/*" ]; then
|
|
cp $CACHE/* $BREWCACHE
|
|
fi
|
|
else
|
|
mkdir $CACHE -p
|
|
fi
|
|
(cd $BREWCACHE; ls > $HOME/list1.txt)
|
|
brew update
|
|
#brew upgrade
|
|
brew install $PACKAGE
|
|
brew cleanup -s
|
|
(cd $BREWCACHE; ls > $HOME/list2.txt)
|
|
comm -1 -3 $HOME/list1.txt $HOME/list2.txt | (cd $BREWCACHE; xargs -I{} cp {} $CACHE)
|
|
comm -2 -3 $HOME/list1.txt $HOME/list2.txt | (cd $CACHE; xargs rm -rf)
|
|
$VIM --version
|
|
fi
|
|
|
|
script:
|
|
- cd test
|
|
- make VIMPROG=$VIMPROG
|
|
|
|
# vim: sw=2 sts=2 et
|