| 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 -r requirements.txt |
| #- 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 |
| - kitchen test |
| |
| # 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 |
| |