diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..4d351b9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,43 @@ +--- +language: "python" +python: "2.7" + +env: + - SITE_SYSTEM_AND_INVENTORY="tests/test_system.yml -i tests/inventory" + - SITE_HOME_AND_INVENTORY="tests/test_home.yml -i tests/inventory" + +before_install: + - "rvm implode" + - "rm -rf /home/travis/.rvm" + +install: + - "pip install ansible==1.6.2" + - "printf '[defaults]\nroles_path = ../' > ansible.cfg" + +script: + - "ansible-playbook $SITE_SYSTEM_AND_INVENTORY --syntax-check" + - "ansible-playbook $SITE_SYSTEM_AND_INVENTORY --connection=local -vvvv" + - > + ansible-playbook $SITE_SYSTEM_AND_INVENTORY --connection=local + | grep -q 'changed=2.*failed=0' + && (echo 'Idempotence test: pass' && exit 0) + || (echo 'Idempotence test: fail' && exit 1) + - > + ruby -v + | grep -q 'ruby' + && (echo 'Version test: pass' && exit 0) + || (echo 'Version test: fail' && exit 1) + - "rvm implode" + - "rm -rf /home/travis/.rvm" + - "ansible-playbook $SITE_HOME_AND_INVENTORY --syntax-check" + - "ansible-playbook $SITE_HOME_AND_INVENTORY --connection=local -vvvv" + - > + ansible-playbook $SITE_HOME_AND_INVENTORY --connection=local + | grep -q 'changed=2.*failed=0' + && (echo 'Idempotence test: pass' && exit 0) + || (echo 'Idempotence test: fail' && exit 1) + - > + ruby -v + | grep -q 'ruby' + && (echo 'Version test: pass' && exit 0) + || (echo 'Version test: fail' && exit 1) \ No newline at end of file diff --git a/README.md b/README.md index d90ac23..6203492 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## What is ansible-ruby? +## What is ansible-ruby? [![Build Status](https://secure.travis-ci.org/nickjj/ansible-ruby.png)](http://travis-ci.org/nickjj/ansible-ruby) It is an [ansible](http://www.ansible.com/home) role to install a specific version of ruby without having to compile ruby on the machine you're setting up. It does this by using rvm under the hood. diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..d18580b --- /dev/null +++ b/tests/inventory @@ -0,0 +1 @@ +localhost \ No newline at end of file diff --git a/tests/test_home.yml b/tests/test_home.yml new file mode 100644 index 0000000..7cee745 --- /dev/null +++ b/tests/test_home.yml @@ -0,0 +1,10 @@ +--- +- hosts: localhost + remote_user: travis + sudo: true + vars: + ruby_temp_download_path: /home/travis/tmp + ruby_rvm_install_path: /home/travis/.rmv + + roles: + - ansible-ruby \ No newline at end of file diff --git a/tests/test_system.yml b/tests/test_system.yml new file mode 100644 index 0000000..9b74d6b --- /dev/null +++ b/tests/test_system.yml @@ -0,0 +1,7 @@ +--- +- hosts: localhost + remote_user: travis + sudo: true + + roles: + - ansible-ruby \ No newline at end of file