sudo: required
dist: trusty
language: python
python: "2.7"

addons:
  hosts:
    - node1

env:
  - SITE=cluster.yml ANSIBLE_VERSION=2.0.0

install:
  # Install Ansible.
  - sudo -H pip install ansible==${ANSIBLE_VERSION}
  - sudo -H pip install netaddr

cache:
  directories:
    - $HOME/releases
    - $HOME/.cache/pip

before_script:
  - export PATH=$PATH:/usr/local/bin

script:
  # Check the role/playbook's syntax.
  - "sudo -H ansible-playbook -i inventory/local-tests.cfg $SITE --syntax-check"

  # Run the role/playbook with ansible-playbook.
  - "sudo -H ansible-playbook -i inventory/local-tests.cfg $SITE --connection=local"

  # Run the role/playbook again, checking to make sure it's idempotent.
  - >
    sudo -H ansible-playbook -i inventory/local-tests.cfg $SITE --connection=local
    | tee /dev/stderr | grep -q 'changed=0.*failed=0'
    && (echo 'Idempotence test: pass' && exit 0)
    || (echo 'Idempotence test: fail' && exit 1)
