|
1 | 1 | language: python
|
2 | 2 | sudo: required
|
3 | 3 | python:
|
4 |
| - - "2.7" |
5 |
| - - "3.5" |
6 |
| - - "3.6" |
| 4 | +- '2.7' |
| 5 | +- '3.5' |
| 6 | +- '3.6' |
7 | 7 | env:
|
8 |
| - - TEST_SUITE=unit_tests |
9 |
| - - TEST_SUITE=integration |
10 |
| - - TEST_SUITE=codingstandard |
11 |
| -# - TEST_SUITE=virtualenv |
12 |
| - |
13 |
| -# command to install dependencies |
14 |
| -# some are only used for travis/coveralls so we are installing them here only |
| 8 | +- TEST_SUITE=unit_tests |
| 9 | +- TEST_SUITE=integration |
| 10 | +- TEST_SUITE=codingstandard |
15 | 11 | install:
|
16 |
| - # Remove python warnings |
17 |
| - - unset PYTHONWARNINGS |
18 |
| - - ./test/setup_test.sh |
19 |
| - |
20 |
| -# command to run tests |
| 12 | +- unset PYTHONWARNINGS |
| 13 | +# For tests |
| 14 | +- "./test/setup_test.sh" |
| 15 | +# For packaging with fpm |
| 16 | +- sudo apt-get install rpm |
| 17 | +- sudo pip install virtualenv virtualenv-tools |
| 18 | +- sudo pip install --upgrade distribute |
21 | 19 | script:
|
22 |
| - # To help eventual debug, knowing which exact packages are installed can be rather useful ;) |
23 |
| - - pip freeze |
24 |
| - |
25 |
| - - | |
26 |
| - if [[ $TEST_SUITE == 'codingstandard' ]]; then |
27 |
| - # Static code analysis |
28 |
| - # -- pycodestyle (former pep8) |
29 |
| - pycodestyle --max-line-length=100 --exclude='*.pyc' alignak/* |
30 |
| - # -- pylint |
31 |
| - unset PYTHONWARNINGS |
32 |
| - pylint --rcfile=.pylintrc -r no alignak |
33 |
| - export PYTHONWARNINGS=all |
34 |
| - # -- pep257 |
35 |
| - pep257 --select=D300 alignak |
36 |
| - fi |
37 |
| -
|
38 |
| - - | |
39 |
| - if [[ $TEST_SUITE == 'unit_tests' ]]; then |
40 |
| - # Run unit tests and code coverage analysis |
41 |
| - cd test |
42 |
| - # Run test suite with py.test running its coverage plugin |
43 |
| - # Dump the 10 slowest tests |
44 |
| - # Do not print log synthesis on test end |
45 |
| - # Get coverage on tests run |
46 |
| - echo "Starting tests..." |
47 |
| - pytest --verbose --durations=10 --no-print-logs --cov=alignak --cov-report term-missing --cov-config .coveragerc test_*.py || travis_terminate 1; |
48 |
| - cd .. |
49 |
| - cp test/.coverage . |
50 |
| - # codecov |
51 |
| - bash <(curl -s https://codecov.io/bash) -e TEST_SUITE |
52 |
| - fi |
53 |
| -
|
54 |
| - - | |
55 |
| - - | |
56 |
| - if [[ $TEST_SUITE == 'integration' ]]; then |
57 |
| - # Run load tests and code dynamic analysis |
58 |
| - cd test_load |
59 |
| - # Run test suite with py.test running its coverage plugin |
60 |
| - # Dump the 10 slowest tests - do not capture to have some activity in Travis |
61 |
| - travis_wait 60 pytest --durations=10 --no-print-logs --capture=no -s --cov=alignak --cov-config .coveragerc test_*.py || travis_terminate 1; |
62 |
| - cd .. |
63 |
| - cp test_load/.coverage . |
64 |
| - # codecov |
65 |
| - bash <(curl -s https://codecov.io/bash) -e TEST_SUITE |
66 |
| - fi |
67 |
| -
|
| 20 | +- pip freeze |
| 21 | +- | |
| 22 | + if [[ $TEST_SUITE == 'codingstandard' ]]; then |
| 23 | + # Static code analysis |
| 24 | + # -- pycodestyle (former pep8) |
| 25 | + pycodestyle --max-line-length=100 --exclude='*.pyc' alignak/* |
| 26 | + # -- pylint |
| 27 | + unset PYTHONWARNINGS |
| 28 | + pylint --rcfile=.pylintrc -r no alignak |
| 29 | + export PYTHONWARNINGS=all |
| 30 | + # -- pep257 |
| 31 | + pep257 --select=D300 alignak |
| 32 | + fi |
| 33 | +- | |
| 34 | + if [[ $TEST_SUITE == 'unit_tests' ]]; then |
| 35 | + # Run unit tests and code coverage analysis |
| 36 | + cd test |
| 37 | + # Run test suite with py.test running its coverage plugin |
| 38 | + # Dump the 10 slowest tests |
| 39 | + # Do not print log synthesis on test end |
| 40 | + # Get coverage on tests run |
| 41 | + echo "Starting tests..." |
| 42 | + # pytest --verbose --durations=10 --no-print-logs --cov=alignak --cov-report term-missing --cov-config .coveragerc test_*.py || travis_terminate 1; |
| 43 | + pytest --verbose --durations=10 --no-print-logs --cov=alignak --cov-report term-missing --cov-config .coveragerc test_actions.py || travis_terminate 1; |
| 44 | + cd .. |
| 45 | + cp test/.coverage . |
| 46 | + # codecov |
| 47 | + bash <(curl -s https://codecov.io/bash) -e TEST_SUITE |
| 48 | + fi |
| 49 | +- '' |
| 50 | +- | |
| 51 | + if [[ $TEST_SUITE == 'integration' ]]; then |
| 52 | + # Run load tests and code dynamic analysis |
| 53 | + cd test_load |
| 54 | + # Run test suite with py.test running its coverage plugin |
| 55 | + # Dump the 10 slowest tests - do not capture to have some activity in Travis |
| 56 | + travis_wait 60 pytest --durations=10 --no-print-logs --capture=no -s --cov=alignak --cov-config .coveragerc test_*.py || travis_terminate 1; |
| 57 | + cd .. |
| 58 | + cp test_load/.coverage . |
| 59 | + # codecov |
| 60 | + bash <(curl -s https://codecov.io/bash) -e TEST_SUITE |
| 61 | + fi |
68 | 62 | after_success:
|
69 |
| - - | |
70 |
| - if [[ $TEST_SUITE == 'unit_tests' ]]; then |
71 |
| - # to get coverage data with relative paths and not absolute we have to |
72 |
| - # execute coveralls from the base directory of the project, |
73 |
| - # so we need to move the .coverage file here : |
74 |
| - mv test/.coverage ./coverage_unit |
75 |
| - mv test_load/.coverage ./coverage_load |
76 |
| - mv test_run/.coverage ./coverage_run |
77 |
| - # Combine the coverage collected data |
78 |
| - coverage combine coverage_unit coverage_load coverage_run |
79 |
| -
|
80 |
| - echo "Submitting coverage results to coveralls.io..." |
81 |
| - coveralls --rcfile=test/.coveragerc |
82 |
| - echo "Submitted" |
83 |
| - fi |
84 |
| -
|
85 |
| - - | |
86 |
| - if [[ $TEST_SUITE == 'unit_tests' ]]; then |
87 |
| - ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION; |
88 |
| - fi |
89 |
| -
|
| 63 | +- | |
| 64 | + if [[ $TEST_SUITE == 'unit_tests' ]]; then |
| 65 | + ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION deb; |
| 66 | + ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION rpm; |
| 67 | + ./package.sh $TRAVIS_BRANCH $TRAVIS_PYTHON_VERSION freebsd; |
| 68 | + fi |
90 | 69 | notifications:
|
91 | 70 | webhooks:
|
92 | 71 | urls:
|
93 |
| - - https://webhooks.gitter.im/e/b40202d91150d5c75582 |
94 |
| - on_success: change # options: [always|never|change] default: always |
95 |
| - on_failure: always # options: [always|never|change] default: always |
96 |
| - on_start: never # default: false |
97 |
| - |
| 72 | + - https://webhooks.gitter.im/e/b40202d91150d5c75582 |
| 73 | + on_success: change |
| 74 | + on_failure: always |
| 75 | + on_start: never |
98 | 76 | deploy:
|
99 | 77 | - provider: bintray
|
100 | 78 | skip_cleanup: true
|
101 |
| - file: .bintray.json |
102 |
| - user: ddurieux |
| 79 | + file: .bintray-deb.json |
| 80 | + user: mohierf |
103 | 81 | key:
|
104 |
| - secure: "yuhgpgyEEvYnY1+a+Y68L7nFFUJYcSAOEo66pYis8ZduHN+1NWbynDdu7I/ndgk66iZOFA2XyVccE9kP0lLpAcQI2h8/nxFnydwzASJTusacgh/CJPrcNCbS+j/y7pWRDKkH9HRy9FWwx0DWm4PYiDe4kPVqsymuHV5eZmFpQfJMsc8e+/mfFJ2d7P0RC2fEEM1fpOhiVmL8WePmxLaNtoPudFeDHNVYd1ebNdDcmpsiLQeG/aRO2/kKGlbTREN+pm83VstwBOiVfiz3I3aj9EUz1XTTQUlVL9nTkNjwcmyF0YI5wR0ef6re0lDKrgISsRN3QP9/YJ0596k1CwRXr08vUKqMw2pZMAzNyJiyGTwus0+NN8zopLEz+ZfmRBViz/Qh8oTvgso9LQPzvy8LDEpfAzS9WHJFvkJm/SlT7VNHfJfh5SLuVWrt532Aqr6dhyuMBisQdwAo2Fo1DLkJDDDRAEiuJbceTZMYoQv29yTj81cVUmdCa67b9BrRbn+c//2xmZXpcbcyoEOjMBvIN1tlyvh7A/CoHflQak16TPfS5YkFDiy/2YTGi2aYlFVkdJwdU77By7IA2cGnupyywfOOxmLl1x/rnKfJ06G2vblBYSkBCiokO2pwArUZW2W5yVY7ycf/fMOiqKDpn2RJYqpeloeDf+c0aZFTmvzY4ug=" |
| 82 | + secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y=" |
105 | 83 | on:
|
106 | 84 | branch: develop
|
107 | 85 | - provider: bintray
|
108 | 86 | skip_cleanup: true
|
109 |
| - file: .bintray.json |
110 |
| - user: ddurieux |
| 87 | + file: .bintray-deb.json |
| 88 | + user: mohierf |
111 | 89 | key:
|
112 |
| - secure: "yuhgpgyEEvYnY1+a+Y68L7nFFUJYcSAOEo66pYis8ZduHN+1NWbynDdu7I/ndgk66iZOFA2XyVccE9kP0lLpAcQI2h8/nxFnydwzASJTusacgh/CJPrcNCbS+j/y7pWRDKkH9HRy9FWwx0DWm4PYiDe4kPVqsymuHV5eZmFpQfJMsc8e+/mfFJ2d7P0RC2fEEM1fpOhiVmL8WePmxLaNtoPudFeDHNVYd1ebNdDcmpsiLQeG/aRO2/kKGlbTREN+pm83VstwBOiVfiz3I3aj9EUz1XTTQUlVL9nTkNjwcmyF0YI5wR0ef6re0lDKrgISsRN3QP9/YJ0596k1CwRXr08vUKqMw2pZMAzNyJiyGTwus0+NN8zopLEz+ZfmRBViz/Qh8oTvgso9LQPzvy8LDEpfAzS9WHJFvkJm/SlT7VNHfJfh5SLuVWrt532Aqr6dhyuMBisQdwAo2Fo1DLkJDDDRAEiuJbceTZMYoQv29yTj81cVUmdCa67b9BrRbn+c//2xmZXpcbcyoEOjMBvIN1tlyvh7A/CoHflQak16TPfS5YkFDiy/2YTGi2aYlFVkdJwdU77By7IA2cGnupyywfOOxmLl1x/rnKfJ06G2vblBYSkBCiokO2pwArUZW2W5yVY7ycf/fMOiqKDpn2RJYqpeloeDf+c0aZFTmvzY4ug=" |
| 90 | + secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y=" |
| 91 | + on: |
| 92 | + tags: true |
| 93 | + - provider: bintray |
| 94 | + skip_cleanup: true |
| 95 | + file: .bintray-rpm.json |
| 96 | + user: mohierf |
| 97 | + key: |
| 98 | + secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y=" |
| 99 | + on: |
| 100 | + tags: true |
| 101 | + - provider: bintray |
| 102 | + skip_cleanup: true |
| 103 | + file: .bintray-freebsd.json |
| 104 | + user: mohierf |
| 105 | + key: |
| 106 | + secure: "xcvRMpwT+Gk0F+EpelwxSxixkrgb+XLS2310zj3j7+eQ2ahPD20yKX7sZsvIJs3DQjUtJwTemvgW6Yi7TFFJyYK9UA3csPbSojTonXUULjxLP8J3tmaioC2l0L3g+rzeVRbGdsBg5MBMgiz1xdheA3dlaoadL7UXIKx+ZiIjSIkcQJNZWUAPtgsnHGpNx94YGDv4zKp9sBm1Y34QPY8sRXRdlYfmBtp1k1wXVqiVk0K81c6PYoL7bGg9tywfZCGAlhzW0F4Dq9GsB+J1aKgT/QnNVS3HKID8W3wXmlIqGfiidECKjRgZuKcC7ayinuGTOhlitPRtlsAs55Suq7EbAUu4SF8QKV8q5wjtdVxln3zxLrJTAAG2rHQYI4JICjUtPocajZd5661IdHu/UnhqKKWcORK00zwTiQqly9Px/FN0C1qCmnz+1nZOECAQpUxUUXISgKQhYHFKCQK3V4DMryPzPsDuvq4aAIrjjzedca1QwC8FvQgRE13TyLm9wtgsCCZ2TM5moigY37Ea1Gw0leDnAnx6sN5ZERLRE59VxWjhO5O617+kuvxlOcAwkiRYtUPuCVlv00TySqKxtjlY9Rkpc1YLqiLiYJQYCm7ubcFMje9Cy6c8xzS0kTO7HBdPbfJ9ODEKHpOZLYD39iOUk/T60IWMIvsM1RhLTVr7z5Y=" |
113 | 107 | on:
|
114 | 108 | tags: true
|
0 commit comments