mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
IIAB Travis CI Testing Implementation #386
This pull request is complete implementation of IIAB Travis CI Testing for synatx errors, code linting and code review. Adds: Top level .travis.yml file. Add 'tests' directory with a 'inventory' and 'tests.yml' files. Modifies: roles/moodle/tasks/main.yml to fix ansible-lint parsing problem. Modifies: README.md to add Build status button This is Git squash of many commits. Please look at individual commit message for the content changes. Creating an initial travis testing based on Jeff geerlings testing ansible methodology https://www.jeffgeerling.com/blog/testing-ansible-roles-travis-ci-github Adding Ansible-lint, Ansible-review tests to travis Aded ansible-review for full repo and diff master Removing ansible-lint install step, it automatically installed by ansible-review Ansible-review only .yml files in root and roles, vars, tests folders Updated comments Corrected ansible-lint parameters Removed extranous tab that breaks ansible-lint Removed a tab character that causes problems with ansible-lint See https://github.com/willthames/ansible-lint/issues/166 Fixing Travis Ansible Syntax tests roles path The ansible roles path had problems due: 1. Absense of top level global role 'iiab' 2. Hardcoded paths '/etc/iiab' in ansible.cfg Fixing them in a hacky way. :( Adding Travis Build status to Readme file
This commit is contained in:
parent
8e66dd538e
commit
16cf3fd136
5 changed files with 106 additions and 2 deletions
42
.travis.yml
Normal file
42
.travis.yml
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
language: python
|
||||
python: "2.7"
|
||||
|
||||
# Use the new container infrastructure
|
||||
sudo: false
|
||||
|
||||
# Install ansible
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python-pip
|
||||
|
||||
install:
|
||||
# Install ansible, ansible-lint and ansible-review
|
||||
- pip install ansible
|
||||
- pip install ansible-review
|
||||
|
||||
# Check ansible, version
|
||||
- ansible --version
|
||||
- ansible-lint --version
|
||||
- ansible-review --version
|
||||
|
||||
# Create ansible.cfg with correct roles_path
|
||||
- printf '[defaults]\nroles_path=../' >ansible.cfg
|
||||
|
||||
script:
|
||||
# Continuous integration: syntax check
|
||||
- ansible-playbook tests/test.yml -i tests/inventory --syntax-check -vvv
|
||||
|
||||
# Continous integration: ansible-list
|
||||
- ansible-lint -p *yml
|
||||
|
||||
# Continous integration: ansible code review
|
||||
- git ls-files *yml roles/ vars/ tests/ | xargs ansible-review
|
||||
|
||||
# Continouse integration: ansible code review of changes between master and current branch
|
||||
- git diff master | ansible-review
|
||||
|
||||
|
||||
#notifications:
|
||||
# webhooks:
|
|
@ -1,4 +1,4 @@
|
|||
# Internet-in-a-Box (IIAB)
|
||||
# Internet-in-a-Box (IIAB) [](https://travis-ci.org/iiab/iiab)
|
||||
|
||||
Welcome to the Git repository of the Internet-in-a-Box (IIAB) project. This is a community-based project developed and supported by volunteers from around the world. The Internet-in-a-Box (IIAB) is small, inexpensive device which provides essential Internet resources (like Wikipedia, OpenStreetMap, Khan Academy and others) without any Internet connection. It provides a local content server of the world’s Free Knowledge.
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
file: path=/etc/apache2/sites-enabled/022-moodle.conf
|
||||
src=/etc/apache2/sites-available/022-moodle.conf
|
||||
state=link
|
||||
when: moodle_enabled and is_debuntu
|
||||
when: moodle_enabled and is_debuntu
|
||||
|
||||
- name: Disable moodle
|
||||
file: path=/etc/apache2/sites-enabled/022-moodle.conf
|
||||
|
|
1
tests/inventory
Normal file
1
tests/inventory
Normal file
|
@ -0,0 +1 @@
|
|||
localhost
|
61
tests/test.yml
Normal file
61
tests/test.yml
Normal file
|
@ -0,0 +1,61 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
# TODO: Making a anisble-iiab roles for ansible-galaxy
|
||||
# roles:
|
||||
# - iiab
|
||||
# For now hardcoding all the roles manually with ls -l roles/ | cut -d " " -f 10
|
||||
roles:
|
||||
- ../roles/1-prep
|
||||
- ../roles/2-common
|
||||
- ../roles/3-base-server
|
||||
- ../roles/4-server-options
|
||||
- ../roles/5-xo-services
|
||||
- ../roles/6-generic-apps
|
||||
- ../roles/7-edu-apps
|
||||
- ../roles/8-mgmt-tools
|
||||
- ../roles/9-local-addons
|
||||
- ../roles/activity-server
|
||||
- ../roles/ajenti
|
||||
- ../roles/authserver
|
||||
- ../roles/awstats
|
||||
- ../roles/calibre
|
||||
- ../roles/cups
|
||||
- ../roles/debian_schooltool
|
||||
- ../roles/docker
|
||||
- ../roles/dokuwiki
|
||||
- ../roles/ejabberd
|
||||
- ../roles/ejabberd_xs
|
||||
- ../roles/elgg
|
||||
# Disabling gateway doesn't contain any tasks?
|
||||
#- ../roles/gateway
|
||||
- ../roles/httpd
|
||||
- ../roles/idmgr
|
||||
- ../roles/iiab-admin
|
||||
- ../roles/kalite
|
||||
- ../roles/kiwix
|
||||
- ../roles/mongodb
|
||||
- ../roles/monit
|
||||
- ../roles/moodle
|
||||
- ../roles/moodle-1.9
|
||||
- ../roles/munin
|
||||
- ../roles/mysql
|
||||
- ../roles/network
|
||||
- ../roles/nextcloud
|
||||
- ../roles/openvpn
|
||||
- ../roles/osm
|
||||
- ../roles/owncloud
|
||||
- ../roles/pathagar
|
||||
- ../roles/phpmyadmin
|
||||
- ../roles/postgresql
|
||||
- ../roles/rachel
|
||||
- ../roles/samba
|
||||
- ../roles/schooltool
|
||||
- ../roles/sshd
|
||||
- ../roles/sugarizer
|
||||
- ../roles/sugar-stats
|
||||
- ../roles/teamviewer
|
||||
- ../roles/usb-lib
|
||||
- ../roles/vnstat
|
||||
- ../roles/wordpress
|
||||
- ../roles/xovis
|
Loading…
Add table
Add a link
Reference in a new issue