X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=.travis.yml;fp=.travis.yml;h=a0031243d52ed6b7dedc71edf485175d5c191bfd;hb=d58696271f166b50faa2705fdda6337c1ffb493c;hp=36bbf6208cfd42ac91bfbe7f9126bc9044e186c6;hpb=c760a03786a2247c14129dfd22c0e0fe1357f094;p=github%2Ffretlink%2Fansible-rabbitmq.git diff --git a/.travis.yml b/.travis.yml index 36bbf62..a003124 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,27 +3,68 @@ language: python python: "2.7" # Use the new container infrastructure -sudo: false +sudo: required -# Install ansible -addons: - apt: - packages: - - python-pip +services: + - docker -install: - # Install ansible - - pip install ansible +env: + - distribution: centos + init: /usr/lib/systemd/systemd + version: 7 + - distribution: fedora + init: /usr/lib/systemd/systemd + version: 29 + - distribution: fedora + init: /usr/lib/systemd/systemd + version: 28 + - distribution: fedora + init: /usr/lib/systemd/systemd + version: 27 + - distribution: fedora + init: /usr/lib/systemd/systemd + version: 26 + - distribution: fedora + init: /usr/lib/systemd/systemd + version: 25 + - distribution: fedora + init: /usr/lib/systemd/systemd + version: 24 + - distribution: ubuntu + init: /lib/systemd/systemd + version: bionic + - distribution: ubuntu + init: /lib/systemd/systemd + version: xenial + # - distribution: ubuntu + # init: /sbin/init + # version: trusty + - distribution: debian + init: /lib/systemd/systemd + version: stretch + # - distribution: debian + # init: /lib/systemd/systemd + # version: jessie - # Check ansible version - - ansible --version - - # Create ansible.cfg with correct roles_path - - printf '[defaults]\nroles_path=../' >ansible.cfg +before_install: + - "sudo pip install yamllint" + - yamllint -c .yamllint.yml . + - "sudo docker pull ${distribution}:${version}" + - "sudo docker build --no-cache --rm --file=tests/Dockerfile.${distribution}-${version} --tag=${distribution}-${version}:ansible tests" script: - # Basic role syntax check - - ansible-playbook tests/test.yml -i tests/inventory --syntax-check + - container_id=$(mktemp) + - role_name="ansible-rabbitmq" + - '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}"' + - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-lint -c /.ansible-lint /etc/ansible/roles/${role_name}/tests/test.yml' + - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml --syntax-check' + - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml' + - > + sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml + | grep -q 'changed=0.*failed=0' + && (echo 'Idempotence test: pass' && exit 0) + || (echo 'Idempotence test: fail' && exit 1) + - 'sudo docker rm -f "$(cat ${container_id})"' notifications: - webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file + webhooks: https://galaxy.ansible.com/api/v1/notifications/