Add travis ci (#35)
* Add travis CI
* Add ci testing of example models (with python 2.7 as py3 still fails)
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..2a41776
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,116 @@
+sudo: required
+language: python
+dist: trusty
+cache: pip
+python:
+- '2.7'
+- '3.6'
+service:
+- docker
+
+#apt:
+ #update: true
+
+#stages:
+#- name: test
+#- name: coverage
+#- name: models
+#- name: build
+# if: fork = false
+#- name: publish
+# if: tag =~ ^v.* and fork = false and branch = 'master'
+
+env:
+ global:
+ - PACKAGENAME="reclass"
+
+install: &pyinst
+- pip install pyparsing
+- pip install PyYAML
+# To test example models with kitchen:
+- |
+ test -e Gemfile || cat <<EOF > Gemfile
+ source 'https://rubygems.org'
+ gem 'rake'
+ gem 'test-kitchen'
+ gem 'kitchen-docker'
+ gem 'kitchen-inspec'
+ gem 'inspec'
+- bundle install
+
+script:
+- python setup.py install
+- find . reclass -name 'test_*.py' | sort | xargs -n1 -i% bash -c "echo %; python %"
+# To test example models with kitchen:
+- export PYTHON_VERSION=$TRAVIS_PYTHON_VERSION
+- kitchen list
+- if [ "$PYTHON_VERSION" = "2.7" ]; then kitchen test; fi
+
+# NOTE: travis stage builds, below saved for future reference
+#jobs:
+# include:
+# - stage: test
+# script: &unittest
+# - python setup.py install
+# - find . reclass -name 'test_*.py' | sort | xargs -n1 -i% bash -c "echo %; python %"
+#
+# - stage: coverage
+# install: *pyinst
+# script:
+# - python3 -m pytest --cov=. --cov-report=term-missing:skip-covered
+# - coverage xml
+# #- coveralls
+# #- |
+# #[ ! -z "${CODACY_PROJECT_TOKEN}" ] && python-codacy-coverage -r coverage.xml || echo "Codacy coverage NOT exported"
+#
+# - stage: lint
+# script:
+# - python3 -m flake8
+#
+# - stage: models
+# install: &kitchen
+# - pip install PyYAML
+# - pip install virtualenv
+# - |
+# test -e Gemfile || cat <<EOF > Gemfile
+# source 'https://rubygems.org'
+# gem 'rake'
+# gem 'test-kitchen'
+# gem 'kitchen-docker'
+# gem 'kitchen-inspec'
+# gem 'inspec'
+# - bundle install
+# script:
+# - export PYTHON_VERSION=$TRAVIS_PYTHON_VERSION
+# - kitchen list
+# #FIXME- kitchen test
+#
+# - stage: build
+# install: *pyinst
+# script: []
+#
+# - stage: publish
+# install:
+# - "/bin/true"
+# script:
+# - "/bin/true"
+# deploy:
+# provider: pypi
+# user: epcim
+# password:
+# secure: TBD
+# on:
+# tags: true
+# repo: salt-formulas/reclass
+# branch: master
+# #FIXME, $TRAVIS_PYTHON_VERSION == '2.7'
+
+notifications:
+ webhooks:
+ on_success: change # options: [always|never|change] default: always
+ on_failure: never
+ on_start: never
+ on_cancel: never
+ on_error: never
+ email: true
+