Skip to content
This repository has been archived by the owner on Jan 17, 2021. It is now read-only.

Commit

Permalink
introduce Travis tests
Browse files Browse the repository at this point in the history
  • Loading branch information
srgvg committed Oct 15, 2016
1 parent 91eb2d4 commit 4e9991a
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
sudo: required

env:
- distro: ubuntu1604
init: /lib/systemd/systemd
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
- distro: ubuntu1404
init: /sbin/init
run_opts: ""
- distro: centos7
init: /usr/lib/systemd/systemd
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
- distro: centos6
init: /sbin/init
run_opts: ""

services:
- docker

before_install:
# Pull container.
- 'sudo docker pull geerlingguy/docker-${distro}-ansible:latest'

script:
- container_id=$(mktemp)
# Run container in detached state.
- 'sudo docker run --detach --volume="${PWD}":/etc/ansible/roles/seafile:ro ${run_opts} geerlingguy/docker-${distro}-ansible:latest "${init}" > "${container_id}"'

# Ansible show version
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible --version'

# Ansible syntax check.
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/seafile/tests/test.yml --syntax-check'

# Test role.
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/seafile/tests/test.yml'

# Test role idempotence.
- idempotence=$(mktemp)
- sudo docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/seafile/tests/test.yml | tee -a ${idempotence}
- >
tail ${idempotence}
| grep -q 'changed=0.*failed=0'
&& (echo 'Idempotence test: pass' && exit 0)
|| (echo 'Idempotence test: fail' && exit 1)
# Ensure Seafile is installed.
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm pgrep -f manage.py'
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm pgrep -f seafile-controller'
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm pgrep -f ccnet-server'
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm pgrep -f seaf-server'

after_success:
# Clean up.
- 'sudo docker stop "$(cat ${container_id})"'

notifications:
email: false
webhooks: https://galaxy.ansible.com/api/v1/notifications/

6 changes: 6 additions & 0 deletions tests/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
- hosts: all

roles:
- role: seafile

0 comments on commit 4e9991a

Please sign in to comment.