12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- ---
- services: docker
- env:
- - distro: centos7
- init: /usr/lib/systemd/systemd
- run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
- - 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: ubuntu1204
- init: /sbin/init
- run_opts: ""
- before_install:
- # Pull container.
- - 'docker pull geerlingguy/docker-${distro}-ansible:latest'
- script:
- - container_id=$(mktemp)
- # Run container in detached state.
- - 'docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} geerlingguy/docker-${distro}-ansible:latest "${init}" > "${container_id}"'
- # Ansible syntax check.
- - 'docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml --syntax-check'
- # Test role.
- - 'docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml'
- # Test role idempotence.
- - idempotence=$(mktemp)
- - docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/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)
- # Check if nginx is running.
- # TODO
- notifications:
- webhooks: https://galaxy.ansible.com/api/v1/notifications/
|