summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorDominik Ritter <dritter03@googlemail.com>2018-07-13 02:18:07 +0300
committerDominik Ritter <dritter03@googlemail.com>2018-07-13 02:18:07 +0300
commit6c4a3e8a1b2ef2f9227594a4198e8588032926d7 (patch)
tree69c634157d55af0ad0afeafc542d3ba54add5967 /.travis.yml
parentd031b3e03522d47607173ebda89e7558b622a322 (diff)
Execute tests on various ZSH versions
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml73
1 files changed, 64 insertions, 9 deletions
diff --git a/.travis.yml b/.travis.yml
index 648499ab..ab330f9c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,23 +1,78 @@
-sudo: true
-dist: trusty
language: sh
+
+os:
+ - linux
+ - osx
+
addons:
apt:
packages:
- build-essential
+ - git
+ - mercurial
+ - subversion
+ - jq
+ - node
+ - golang
+ - ruby
+ - python
+ - python-virtualenv
+
+before_install:
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
+
+env:
+ global:
+ - ZSH_DIST=$HOME/.zshdist
+ matrix:
+ # Use _ZSH_VERSION since if ZSH_VERSION is present, travis cacher thinks it
+ # is running in zsh and tries to use zsh specific functions.
+ - _ZSH_VERSION=5.5.1
+ - _ZSH_VERSION=5.5
+ - _ZSH_VERSION=5.4.2
+ - _ZSH_VERSION=5.4.1
+ - _ZSH_VERSION=5.3.1
+ - _ZSH_VERSION=5.3
+ - _ZSH_VERSION=5.2
+ - _ZSH_VERSION=5.1.1
+ - _ZSH_VERSION=5.0.8
+ - _ZSH_VERSION=5.0.2
+
+cache:
+ directories:
+ - $ZSH_DIST
before_script:
+ - >
+ setup_zsh() {
+ dest="$ZSH_DIST/$1"
+ if [[ ! -d $dest/bin ]]; then
+ coreutils_mktemp="mktemp"
+ if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+ coreutils_mktemp="gmktemp"
+ fi
+ tmp="$(${coreutils_mktemp} --directory --tmpdir="${TMPDIR:/tmp}" zshbuild.XXXXXX)"
+ (
+ cd "$tmp" &&
+ curl -L http://downloads.sourceforge.net/zsh/zsh-${1}.tar.gz | tar zx &&
+ cd zsh-$1 &&
+ ./configure --prefix="$dest" &&
+ make &&
+ mkdir -p "$dest" &&
+ make install ||
+ echo "Failed to build zsh-${1}!"
+ )
+ fi
+ export PATH="$dest/bin:$PATH"
+ }
+ - setup_zsh $_ZSH_VERSION
# Show the git version being used to test.
- "git --version"
+ # Show the mercurial version being used to test.
+ - "hg --version"
# Show the zsh version being used to test.
- "zsh --version"
-install:
- - "sudo apt-get update -qq"
- - "sudo apt-get install -y zsh"
- - "sudo chsh -s $(which zsh)"
- - "sudo apt-get install -y git mercurial subversion jq node golang ruby python python-virtualenv"
-
script:
- test/powerlevel9k.spec
- test/functions/utilities.spec
@@ -29,4 +84,4 @@ script:
- test/segments/go_version.spec
- test/segments/vcs.spec
- test/segments/kubecontext.spec
- - test/segments/laravel_version.spec
+ - test/segments/laravel_version.spec \ No newline at end of file