forked from buildbot/buildbot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
129 lines (111 loc) · 4.38 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
# 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=11.1.0 SQLALCHEMY=latest TESTS=trial
- TWISTED=12.2.0 SQLALCHEMY=latest TESTS=trial
- TWISTED=13.0.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=12.0.0 SQLALCHEMY=0.6.0 TESTS=trial
- python: "2.7"
env: TWISTED=12.0.0 SQLALCHEMY=0.6.8 TESTS=trial
- python: "2.7"
env: TWISTED=12.0.0 SQLALCHEMY=0.7.0 TESTS=trial
- python: "2.7"
env: TWISTED=12.0.0 SQLALCHEMY=0.7.4 TESTS=trial
- python: "2.7"
env: TWISTED=12.0.0 SQLALCHEMY=0.7.8 TESTS=trial
- python: "2.7"
env: TWISTED=12.0.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
- "[ $TESTS != lint ] || pip install pylint==1.1.0 pyflakes pep8==1.5.7"
- "[ $TESTS != docs ] || pip install sphinx"
# 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 pyflakes"
- "[ $TESTS != lint ] || make pep8"
- "[ $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