forked from bokeh/bokeh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
135 lines (125 loc) · 5.46 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
131
132
133
134
135
language: python
sudo:
false
env:
global:
- BOTO_CONFIG="/tmp/nowhere"
- MINICONDA_VERSION="latest"
- secure: nLrUq2h59KN3k3hnid+Ub4RHDcVkZyrVmuMLoM6NbwKA0bwpDltaoSg5cj2dzdXKBwvv+3VP38oXLhEGLhVi7kDmyX3ICcza6Usy8zgK3s1NBgl6hFjqaJ7RjCu9OP1I42ThMTLfCQMRrYul7s74sGdZa+HfMCZcl+3Co5IzraI=
- secure: oI7Up9HuHSBw8k9LBNC6pLEUJONj+5NeEGFpSLSVXvqPPmyXJZ4qRE/dZ/HxZp6xyBze5GLYmdXXAdhrZyNjmU1ZA0rbBLDWLXuAW8eJm5xAXZ0NRFlHMXMkwvbG9hPTOTFtxKNS4lG/Fo5AXwE4MgT5uzQS4I7HuuNkcZOoInY=
- secure: Nyfo1sKNXJPEbR0QF+S/Sbr1OnDl6kRfjKAXVupD83QeLJ2e6gj7R1TpucngUhDluqp2iJ/1DZDXnA9AP+xl8kordIXjEv2FYdijxKAUk3G5BVPm9n6GudsIKYNUpDOiZupZrcKoJtfpIiWOOOgn4uftI7X/ATazudUKeMNjOvQ=
- secure: nqoKfXZTHhJ0ieffqS+5mi5crivUeFeIgohqUaeTCnaOGI5XFMLR8rZPjhMHyFx5vNTp08pbg3Mg4i7iaQn+3dqu25HBwnfhar3TFXfOCQQLJBZstoWSGEDkJKDPwwqZrdFzw+EDxlA0tlLXvV8X0DlArYKhRcAOJF01cCJ7L1c=
- secure: ii7ssdfEDYtc4Ph24mVzyq7JVTkjrn/h36HZn1oZak+HuiYtVbcCjqomKj2n1kPuKJWajOwHGu7d7ymCvK4tQ37keiMRvku/Yz4HELT5IUU1hD+w7mKomc2taKKvddGnbR4I4oZe+SBfwfeQCq5/Ha+koadSQI05Aco/nLNZP3M=
- secure: MAaYB6RV2a9tZ61Olatv52Yi4EqEh+wMkX6y20Ja1yyY3I+2sFT1NZ8ZwPFCKkDdMeSna7z4ROKk3CDMK0JkbUJrqnZgo6Fy7w6GZPcZlzUPrgH04Or0v94upMh2i0lh8wcz88VuR0i+GxnqUsP18W5AJfO/FXmU4VgDAOJfKrQ=
matrix:
include:
# Unit tests on all three versions of python
- python: 2.7
env: GROUP=unit
- python: 3.4
env: GROUP=unit
- python: 3.5
env: GROUP=unit
# Examples tests
- python: 2.7
env: GROUP=examples
- python: 3.4
env: GROUP=examples
# Linting and Docs (no python3 version of fabric)
- python: 2.7
env: GROUP=flake_docs
# Integration test
- python: 3.4
env: GROUP=integration
addons:
sauce_connect: true
branches:
only:
- master
- "/^\\d+.\\d+.\\d+dev\\d+$/"
- "/^\\d+.\\d+.\\d+rc\\d+$/"
- "/^\\d+.\\d+.\\d+$/"
before_install:
- export PATH="$HOME/miniconda/bin:$PATH"
- export PATH="$HOME/build/bokeh/bokeh/bokehjs/node_modules/phantomjs-prebuilt/bin:$PATH"
- echo $TRAVIS_BUILD_NUMBER > __travis_build_number__.txt
- export TRAVIS_COMMIT_MSG="$(git log --format=%B --no-merges -n 1)"
- if [[ -z "${SAUCE_USERNAME}" ]] || [[ -z "${SAUCE_ACCESS_KEY}" ]]; then echo "External committer, not using saucelabs"; else export SAUCELABS=true; fi
install:
- scripts/travis_install
script:
# Unit tests
- if [[ -z "$TRAVIS_TAG" && "$GROUP" == unit ]]; then
py.test --rerun=3 -s -m js;
fi
- if [[ -z "$TRAVIS_TAG" && "$GROUP" == unit ]]; then
py.test --rerun=5 -m 'not (examples or js or integration or quality)' --cov=bokeh --cov-config=bokeh/.coveragerc;
fi
# Examples tests
- if [[ -z "$TRAVIS_TAG" && "$GROUP" == examples ]]; then
if [[ $TRAVIS_COMMIT_MSG == *"[ci disable examples]"* ]]; then
echo "Examples run disabled by commit"; else
export BOKEH_DEFAULT_DIFF=FETCH_HEAD;
export IPYTHON_ALLOW_DRAFT_WEBSOCKETS_FOR_PHANTOMJS=1;
py.test -v -m examples --rerun=5 --upload --examplereport=examples.html;
fi;
fi
# Linting
- if [[ -z "$TRAVIS_TAG" && "$GROUP" == flake_docs ]]; then
py.test -m quality ;
fi
# Build docs
- if [[ -z "$TRAVIS_TAG" && "$GROUP" == flake_docs ]]; then
cd sphinx;
GOOGLE_API_KEY=${GOOGLE_API_KEY:-"junk"} make SPHINXOPTS=-v all;
fi
# Integration tests
- if [[ -z "$TRAVIS_TAG" && "$GROUP" == integration ]]; then
if [ "$SAUCELABS" == "true" ]; then
py.test -m integration --driver SauceLabs --html=tests/pytest-report.html -n4 -r3 --upload;
fi;
fi
# Poor mans logger
- echo "***** POOR MAN LOGGER ******";
echo $BOKEH_DEFAULT_DIFF;
echo $TRAVIS_COMMIT_MSG;
echo $TRAVIS_PULL_REQUEST;
if [[ "$GROUP" == integration ]]; then
echo "https://s3.amazonaws.com/bokeh-travis/$TRAVIS_JOB_ID/tests/pytest-report.html";
fi;
if [[ "$GROUP" == examples ]]; then
echo "https://s3.amazonaws.com/bokeh-travis/$TRAVIS_JOB_ID/examples.html";
fi;
killall python;
ps -efw;
echo "********** END POOR MAN LOGGER ************"
after_success: |
if [[ ! -z "$TRAVIS_TAG" && "$TRAVIS_PYTHON_VERSION" == '2.7' && "$GROUP" == flake_docs ]]; then
# Install some additional dependencies
conda install anaconda-client fabric --yes
# Decrypt some files and place them in the correct location
openssl aes-256-cbc -K $encrypted_c19429b59af5_key -iv $encrypted_c19429b59af5_iv -in secrets.tar.enc -out secrets.tar -d
tar xvf secrets.tar
cp known_hosts ~/.ssh/known_hosts
cp .npmrc ~/.npmrc
cp .pypirc ~/.pypirc
chmod 600 bokeh_key
eval `ssh-agent -s`
ssh-add bokeh_key
# Signal the correct build
if [[ "$TRAVIS_TAG" == *"dev"* ]] || [[ "$TRAVIS_TAG" == *"rc"* ]]; then
echo "Building a dev or rc package."
# We signal the devel build with the "devel" string into the __travis_build_number__.txt file
echo "devel" > __travis_build_number__.txt
else
echo "Building a release package."
# We signal the release with an the "release" string into the __travis_build_number__.txt file
echo "release" > __travis_build_number__.txt
fi
bash scripts/build_upload.sh -b $ANACONDA_TOKEN -u $RSUSER -k $RSAPIKEY
else
echo "Not building because there is no tag."
fi
notifications:
flowdock:
secure: ZisceYtV2b7LWNUz0wEtiR9TRk+i8x5m/N6+Htn4IFr+bBcBi79ESO0u6DWiJA5rHt+Yq7Yf49vl7UO9HZCF+8n5B1nKpfivJKngVuMYLnhYifNmwCD7vQ8aaF9DTfOqvm2hJrHwtieX8BUGs2KWd8igt3f8LCXVWVBBvkqc2L0=