forked from buildbot/buildbot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
130 lines (112 loc) · 4.49 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Travis CI configuration file
# http://about.travis-ci.org/docs/
language: python
# Available Python versions:
# http://about.travis-ci.org/docs/user/ci-environment/#Python-VM-images
python:
- "2.6"
- "2.7"
env:
- TWISTED=12.2.0 SQLALCHEMY=latest TESTS=trial
- TWISTED=13.0.0 SQLALCHEMY=latest TESTS=trial
- TWISTED=15.4.0 SQLALCHEMY=latest TESTS=trial
- TWISTED=latest SQLALCHEMY=latest TESTS=trial
cache:
directories:
- $HOME/.cache/pip
- www/base/node_modules
- www/codeparameter/node_modules
- www/console_view/node_modules
- www/waterfall_view/node_modules
- www/nestedexample/node_modules
- www/base/libs
- www/codeparameter/libs
- www/console_view/libs
- www/waterfall_view/libs
- www/nestedexample/libs
matrix:
include:
# Test different versions of SQLAlchemy
- python: "2.7"
env: TWISTED=15.5.0 SQLALCHEMY=0.6.0 TESTS=trial
- python: "2.7"
env: TWISTED=15.5.0 SQLALCHEMY=0.6.8 TESTS=trial
- python: "2.7"
env: TWISTED=15.5.0 SQLALCHEMY=0.7.0 TESTS=trial
- python: "2.7"
env: TWISTED=15.5.0 SQLALCHEMY=0.7.4 TESTS=trial
- python: "2.7"
env: TWISTED=15.5.0 SQLALCHEMY=0.7.8 TESTS=trial
- python: "2.7"
env: TWISTED=15.5.0 SQLALCHEMY=latest TESTS=trial
# add extra tests in separate jobs
- python: "2.7"
env: TWISTED=latest SQLALCHEMY=latest TESTS=coverage
- python: "2.7"
env: TWISTED=latest SQLALCHEMY=latest TESTS=lint
- python: "2.7"
env: TWISTED=latest SQLALCHEMY=latest TESTS=js
- python: "2.7"
env: TWISTED=latest SQLALCHEMY=latest TESTS=docs
# python 3 tests
# - python: "3.4"
# env: TWISTED=latest SQLALCHEMY=latest TESTS=py3
# Dependencies installation commands
install:
# codecov is the interface to codecov.io; see after_success
- "echo 'travis_fold:start:codecov'; pip install codecov; echo 'travis_fold:end:codecov'"
- "echo 'travis_fold:start:tw'; [ $TWISTED = latest ] || pip install Twisted==$TWISTED; echo 'travis_fold:end:tw'"
- "echo 'travis_fold:start:sa'; [ $SQLALCHEMY = latest ] || pip install sqlalchemy==$SQLALCHEMY; echo 'travis_fold:end:sa'"
# mock is preinstalled on Travis
# Install lz4 for log compression utest
# Install python-future for py2/3 compatability
# Install pyjade for custom templates tests
- |
[ $TESTS = py3 ] || \
pip install -e pkg \
-e master \
-e slave \
txrequests \
future \
pyjade \
boto \
lz4
# install buildbot_www from pip in order to run the www tests
- "[ $TESTS = py3 ] || pip install --pre buildbot_www"
# for python 3 we dont install everything yet..
- |
[ $TESTS != py3 ] || \
pip install -e slave \
future
# Run additional tests only in latest configuration
# txgithub requires Twisted >= 12.3.0, so we install it only when we test the
# latest Twisted to avoid unintended upgrades.
# deps of txgithub cryptography requires python 2.7, so we only install txgithub for 2.7
- "[ $TWISTED != latest ] || [ $TRAVIS_PYTHON_VERSION != 2.7 ] || pip install txgithub"
# Astroid 1.3.0 dropped Python-2.6 spuport
- "[ $TRAVIS_PYTHON_VERSION != 2.7 ] || pip install 'astroid<1.3.0'"
# Note pylint version is pinned because newer versions can't import zope.interface - http://www.logilab.org/92792
# astroid > 1.4 is incompatible with pylint 1.1.0
- "[ $TESTS != lint ] || pip install pylint==1.1.0 pep8==1.5.7 flake8 astroid==1.3.8"
# TODO: Pin Sphinx version to workaround http://trac.buildbot.net/ticket/3408
- "[ $TESTS != docs ] || pip install sphinx==1.3.3"
# Tests running commands
script:
- "[ $TESTS != js ] || make frontend_install_tests"
# run tests under coverage for latest only (it's slower..)
- "[ $TESTS != trial ] || trial --reporter=text --rterrors buildbot.test buildslave.test"
- "[ $TESTS != coverage ] || coverage run --rcfile=.coveragerc $(which trial) --reporter=text --rterrors buildbot.test buildslave.test"
# run tests that are know to work on py3
- "[ $TESTS != py3 ] || trial --reporter=text --rterrors buildslave.test"
# Run additional tests in their separate job
- "[ $TESTS != lint ] || make pylint"
- "[ $TESTS != lint ] || make flake8"
- "[ $TESTS != docs ] || make docs"
- "echo 'travis_fold:start:piplist'; pip list; echo 'travis_fold:end:piplist'"
notifications:
email: false
after_success:
- "[ $TESTS != coverage ] || codecov"
sudo: false
git:
depth: 300