|  | @@ -0,0 +1,33 @@
 | 
	
		
			
				|  |  | +---
 | 
	
		
			
				|  |  | +language: python
 | 
	
		
			
				|  |  | +python: "2.7"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +env:
 | 
	
		
			
				|  |  | +  - SITE=test.yml
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +before_install:
 | 
	
		
			
				|  |  | +  - sudo apt-get update -qq
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +install:
 | 
	
		
			
				|  |  | +  # Install Ansible.
 | 
	
		
			
				|  |  | +  - pip install ansible==1.5.0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  # Add ansible.cfg to pick up roles path.
 | 
	
		
			
				|  |  | +  - "printf '[defaults]\nroles_path = ../' > ansible.cfg"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  # Install required dependencies.
 | 
	
		
			
				|  |  | +  - ansible-galaxy install geerlingguy.git
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +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"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  # 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)
 |