1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- ---
- sudo: required
- env:
- - distribution: centos
- version: 6
- init: /sbin/init
- run_opts: ""
- - distribution: centos
- version: 7
- init: /usr/lib/systemd/systemd
- run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
- - distribution: ubuntu
- version: 14.04
- init: /sbin/init
- run_opts: ""
- - distribution: ubuntu
- version: 12.04
- init: /sbin/init
- run_opts: ""
- matrix:
- allow_failures:
- - env:
- - distribution: centos
- version: 7
- init: /usr/lib/systemd/systemd
- run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
- services:
- - docker
- before_install:
- # - sudo apt-get update
- # Pull container
- - 'sudo docker pull ${distribution}:${version}'
- # Customize container
- - 'sudo docker build --rm=true --file=tests/Dockerfile.${distribution}-${version} --tag=${distribution}-${version}:ansible tests'
- script:
- - container_id=$(mktemp)
- # Run container in detached state
- - 'sudo docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} ${distribution}-${version}:ansible "${init}" > "${container_id}"'
- # Install required Galaxy roles.
- - 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-galaxy install geerlingguy.git'
- # Ansible syntax check.
- - 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml --syntax-check'
- # Test role.
- - 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml'
- # Test role idempotence.
- - >
- sudo docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml
- | grep -q 'changed=0.*failed=0'
- && (echo 'Idempotence test: pass' && exit 0)
- || (echo 'Idempotence test: fail' && exit 1)
- # Check if we get an installation page.
- - 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm curl http://localhost:3000/install'
- # Clean up
- - 'sudo docker stop "$(cat ${container_id})"'
- notifications:
- webhooks: https://galaxy.ansible.com/api/v1/notifications/
|