5 # Use the new container infrastructure
12 - distribution: centos
13 init: /usr/lib/systemd/systemd
15 - distribution: fedora
16 init: /usr/lib/systemd/systemd
18 - distribution: fedora
19 init: /usr/lib/systemd/systemd
21 - distribution: fedora
22 init: /usr/lib/systemd/systemd
24 - distribution: fedora
25 init: /usr/lib/systemd/systemd
27 - distribution: fedora
28 init: /usr/lib/systemd/systemd
30 - distribution: fedora
31 init: /usr/lib/systemd/systemd
33 - distribution: ubuntu
34 init: /lib/systemd/systemd
36 - distribution: ubuntu
37 init: /lib/systemd/systemd
39 # - distribution: ubuntu
42 - distribution: debian
43 init: /lib/systemd/systemd
45 # - distribution: debian
46 # init: /lib/systemd/systemd
50 - "sudo pip install yamllint"
51 - yamllint -c .yamllint.yml .
52 - "sudo docker pull ${distribution}:${version}"
53 - "sudo docker build --no-cache --rm --file=tests/Dockerfile.${distribution}-${version} --tag=${distribution}-${version}:ansible tests"
56 - container_id=$(mktemp)
57 - role_name="ansible-rabbitmq"
58 - 'sudo docker run --detach --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro --volume="${PWD}":/etc/ansible/roles/${role_name}:ro ${distribution}-${version}:ansible ${init} > "${container_id}"'
59 - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-lint -c /.ansible-lint /etc/ansible/roles/${role_name}/tests/test.yml'
60 - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml --syntax-check'
61 - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml'
63 sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml
64 | grep -q 'changed=0.*failed=0'
65 && (echo 'Idempotence test: pass' && exit 0)
66 || (echo 'Idempotence test: fail' && exit 1)
67 - 'sudo docker rm -f "$(cat ${container_id})"'
70 webhooks: https://galaxy.ansible.com/api/v1/notifications/