summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: c69e288a095d86d1fb8f5a753835b67442dc6904 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---
language: python
python: "2.7"

env:
  - SITE=test.yml

before_install:
  - sudo apt-get update -qq

install:
  # Install Ansible.
  - pip install ansible

  # Add ansible.cfg to pick up roles path.
  - "{ echo '[defaults]'; echo 'roles_path = ../'; } >> ansible.cfg"

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

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

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