Run docker-compose in travis

This commit is contained in:
Paul Montero
2017-09-19 15:28:57 -05:00
parent 7190ce1864
commit eaa1c80c1e
4 changed files with 56 additions and 80 deletions

View File

@@ -1,55 +1,32 @@
---
language: 'python'
python: '2.7'
language: c
sudo: required
env:
- SITE_AND_INVENTORY='tests/test.yml -i tests/inventory'
services:
- docker
cache:
directories:
- $HOME/docker
before_install:
- '__rvm_unload ; rm -rf ~/.rvm'
install:
- 'pip install ansible==2.2.0'
- 'printf "[defaults]\nroles_path = ../" > ansible.cfg'
- if [[ -d $HOME/docker ]]; then ls $HOME/docker/*.tar.gz | xargs -I {file} sh -c "zcat {file} | docker load"; fi
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
- sudo pip install ansible==2.2.0
script:
- cd tests
- docker-compose up -d
- ansible-playbook user.yml
before_cache:
- >
ruby -v
| grep -q 'ruby'
&& (echo 'No ruby test: pass' && exit 1)
|| (echo 'No ruby test: fail' && exit 0)
- 'ansible-playbook $SITE_AND_INVENTORY --syntax-check'
- 'ansible-playbook $SITE_AND_INVENTORY --connection=local -vvvv'
- >
ansible-playbook $SITE_AND_INVENTORY --connection=local
| grep -q 'changed=0.*failed=0'
&& (echo 'Idempotence test: pass' && exit 0)
|| (echo 'Idempotence test: fail' && exit 1)
- >
~/.rvm/wrappers/default/ruby -v
| grep -q '2.3.1'
&& (echo 'Default ruby test: pass' && exit 0)
|| (echo 'Default ruby test: fail' && exit 1)
- >
ls ~/.rvm/rubies
| grep -q 'ruby-2.2.5'
&& (echo 'Multiple rubies test: pass' && exit 0)
|| (echo 'Multiple rubies test: fail' && exit 1)
- >
ansible-playbook $SITE_AND_INVENTORY --connection=local --extra-vars='rvm1_delete_ruby=ruby-2.2.5'
| grep -q 'ok=1.*failed=0'
&& (echo 'Delete ruby test: pass' && exit 0)
|| (echo 'Delete ruby test: fail' && exit 1)
- >
ls ~/.rvm/rubies/ | wc -l
| grep -q '2'
&& (echo 'Really deleted ruby test: pass' && exit 0)
|| (echo 'Really deleted ruby test: fail' && exit 1)
- >
ls ~/.rvm/wrappers/default/
| grep -q 'bundler'
&& (echo 'Bundler symlinked on system path test: pass' && exit 0)
|| (echo 'Bundler symlinked on system path test: fail' && exit 1)
mkdir -p $HOME/docker && docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}'
| xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz'
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/

34
tests/assertions.yml Normal file
View File

@@ -0,0 +1,34 @@
---
- name: Check that ruby exists
command: ruby -v
register: check_ruby
- assert:
that:
- "{{ check_ruby.stdout }} == 'ruby'"
- "{{ check_ruby.rc }} == 0 "
msg: No ruby test pass
- name: Check default ruby
shell: ~/.rvm/wrappers/default/ruby -v | cut -c1-10
register: check_ruby_default
- assert:
that:
- "{{ check_ruby_default.stdout }} == 'ruby 2.3.1'"
msg: Default ruby test pass
- name: Check multiple rubies
command: ls ~/.rvm/rubies
register: check_ruby_multiple
- assert:
that:
- "ruby-2.2.5' in {{ check_ruby_multiple.stdout }}"
- "ruby-2.3.1' in {{ check_ruby_multiple.stdout }}"
msg: Multiple rubies test pass
- name: Check bundler symlinked on system path
shell: ls ~/.rvm/wrappers/default/ |grep 'bundler'
register: check_ruby_bundler
- assert:
that:
- "{{ check_ruby_bundler.stdout }} == 'bundler'"
msg: Bundler symlinked on system path test pass

View File

@@ -1,35 +0,0 @@
---
post_tasks:
- name: Check that ruby exists
command: ruby -v
register: check_ruby
- assert:
that:
- "check_ruby == 'ruby'"
- "check_ruby.rc == 0 "
msg: No ruby test pass
- name: Check default ruby
shell: ~/.rvm/wrappers/default/ruby -v | cut -c1-10
register: check_ruby_default
- assert:
that:
- "check_ruby_default.stdout == 'ruby 2.3.1'"
msg: Default ruby test pass
- name: Check multiple rubies
command: ls ~/.rvm/rubies
register: check_ruby_multiple
- assert:
that:
- "ruby-2.2.5' in check_ruby_multiple.stdout"
- "ruby-2.3.1' in check_ruby_multiple.stdout"
msg: Multiple rubies test pass
- name: Check bundler symlinked on system path
shell: ls ~/.rvm/wrappers/default/ |grep 'bundler'
register: check_ruby_bundler
- assert:
that:
- "check_ruby_bundler.stdout == 'bundler' "
msg: Bundler symlinked on system path test pass

View File

@@ -16,4 +16,4 @@
gather_facts: false
tasks:
- name: Assert tasks
include: assertetions.yml
include: assertions.yml