forked from caproto/caproto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
117 lines (97 loc) · 5.56 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
language: python
dist: xenial
sudo:
- false
- true
python:
- 3.7
- 3.6
env:
matrix:
- ID=FLAKE8
- ID=R314_ARRAY INSTALL_NUMPY=0 PACKAGED_DEPS=0.8.2/epics-ci-0.8.2_R3.14.12.6_pva_areadetector3-2_motor6-9.tar.bz2
- ID=R314_NUMPY INSTALL_NUMPY=1 PACKAGED_DEPS=0.8.2/epics-ci-0.8.2_R3.14.12.6_pva_areadetector3-2_motor6-9.tar.bz2
- ID=R7_NUMPY INSTALL_NUMPY=1 PUBLISH_DOCS=1 PACKAGED_DEPS=0.8.2/epics-ci-0.8.2_R7.0.1.1_pva_areadetector3-2_motor6-10.tar.bz2
- ID=R7_ARRAY INSTALL_NUMPY=0 PACKAGED_DEPS=0.8.2/epics-ci-0.8.2_R7.0.1.1_pva_areadetector3-2_motor6-10.tar.bz2
global:
- EPICS_CA_MAX_ARRAY_BYTES=20000000
# Doctr deploy key for NSLS-II/caproto (not used)
- secure: "Hnz9c6x13kaAc7IqH4/wJWNel2rzEC8/x0KhFoGLVLHjmiH1LMmpGh/P5CPADlmKS80WFz4vhJ0YtSjtHCPI+9Y2aBGn8z732WM86OyGHITviCMTxtyVZfRFCkOAVlU0qpIyWu4p0rEfxrXCztSKE4bBO/wWnFhGGw9CJROnFhJwoJlbI9i28zscyeGsdqHNUfXHkyUAN3c3LKoYZgnJco5HiHLwXVvsy3DMkvOizLgslf6lrHwnQOT1F49ShgPcGGWpkuRARXkGII7lB0LOn2TBoTzmhgjoC3OmC4nZGJfzitwH9+nHc+iJ3mTlshsXb366B/D5TNVIL/4rzYV8zw49DogQIWYtECK4/z7fOzG61yCU33b3aeXU2OI4k5eZ2qN3gp3KQ4+PWyCMTHsBVgs6o49K1HWtFuuFLuhUPT4FVs2Pzz6yTka9NUukPO1LoTeQAUvGxRbc/15CjIWXtqqzEGmlPi8AFEo2kw33EtTawMU9w8nzAfdk5DX28Qcuzh9XA9nVUD0j7Rum7nGY1f5+icXh0FsOuP1uHt82bXIYvw3rey3RkWcqVcniJXlkq0bAZM/ZSXWX5VHyQ2e7C4kxCdnzVqjgtlGT2ARSlD6o8FKKRKTAKD7kQ9ajTjZHRhO+xbvP+X4K9GlbGvPyU9bnDFa14fXBJS4dTMd8GgQ="
# Doctr deploy key for NSLS-II/NSLS-II.github.io (for old URLs)
- secure: "Pnqun4Pd3qH7P3hpCJ6qRS64CdQPGxBkPiFMVT5MYZaxK3UCENmERsUm+Onk7rqMvqAUooVp6cFWSta9/BvgJSXnp41sKJZMiK3UmRfvyGAx0Wg/jpkKKAxSUr5ke9OCh4a8LB2L1hHJVybS2QA7IbBfkx8uiKSSH803eg7dGDacW6jhMxEej6Ne7gGvMmRfthbbPqeTLTNLzLqRfXX1zxG9G7ywoY3HiaYe5Ti3gAsAo7BK56ApHSxUNX4c4rsalZVYaBz51zAG+oecJ1JnpTq+Ix6YE6cKIV3wvz79vYbzbvHhDNR6efZ3WaJfA0i07KhRLxgRRMUwxiPBGZdRqftUR8losgxhlUEcBecu/OsvIgRy12gGuP6dIjw8tN2YhmVtkFZWnnA9DwnYzkCFsIB/sPbmWfI7WVFblY+Ij6EFYySQQFcgw047cl/SbzSaN2DZjTKdyYiZA/gd5b2azC8trS6K2OXD2rgptERGa/qQqgEieVqWeJ2XHewZ5FZpuJBoT9wEF3/i/P8HpOFxob7lrTVx4gluiTlVTfmbnLmjdgyBOJ5Ch3YEsPzipS738NlIlXOhHfRztno5lnKSG4pARK4jnQd2E19NyJQLmcog6aux648N7X2O1Y+yOs7zyuqCm8nIHsf5c9LAV19KN+zJkHHRK3P8cR4ffVdZD8E="
# Doctr deploy key for caproto/caproto.github.io
- secure: "j6XZWU6sRp74RxbwDRf0vgTyp38xnyVsX+Upsh4D9DrltQ9evSskgYl94XOTN9LVawmJTXvwy8A2Tjcy/+4SMD/snhSP3y0WpwyunA4FQoG+jmS40QB0FlamnQkNgxPv8LjP6o0nl2ZN7QdTf1/ANy813cH6ZR9Vc3JRyyHew+z6qs2u2hDqUiDhqdVq6m+FOZQGzHEdiexowJOe2w6SOS2FfqDYWtrG0IEmykctUYiMFuDxHXbqaPuu68/GNjSqTXW3bdXX//LOE2H68XRDHvbW+lnidU4G6T3SqDyvJSAiwZfxKdjYQzjvQhTCrNCwNe99ORFlHmVU4rr19+VtL68Ta5ADfHHvkmM78zCb+OPV4N6Pv2mqbtpM1Qn9h920x3lH+5i0qoK8kVocrlmRokd4nY7jyGOTX0SyYKGnBL+KXrKsPSabLO2kyW6+eHc4p4eCopZDhEg5GyXw3g1dA5w3MhfCeEY/0N/7tRBGlooFbIK4rVj7KRJxS5if6B1TKlTgilRhFvMMGMxJG2fTVjAaqrbQqtiy6GwKfCWyNYfUcB6TUpyu7jgStrGJ9lsm5VrrJR7/atlJN4E1GA0HjBWoCUn1NgH+5upjvG9Z1s9FUdp4Kqohw/0gr0CQQwvjRxyZLGKLYDNgL1gY/eBYzTjxb8t3r5+ZKFjQmldg2qk="
matrix:
exclude:
- python: 3.6
sudo: true
- python: 3.7
sudo: false
addons:
apt:
packages:
- graphviz # for building docs
- procserv
cache:
directories:
- $HOME/.cache/pip
- $HOME/.ccache # https://github.com/travis-ci/travis-ci/issues/5853
before_install:
- if [ "$ID" == "FLAKE8" ]; then
pip install flake8;
flake8 .;
exit;
fi
- export PATH=/usr/lib/ccache:$PATH
- git fetch --unshallow
- export CI_SCRIPTS=${TRAVIS_BUILD_DIR}/.ci/ci-scripts
- install -d $HOME/epics $HOME/epics/iocs $HOME/epics/support $HOME/epics/base
- bash .ci/install-from-release.sh "https://github.com/klauer/epics-on-travis/releases/download/${PACKAGED_DEPS}"
- source $HOME/epics/versions.sh
- sed -i -e "s/EPICS_CA_MAX_ARRAY_BYTES=10000000/EPICS_CA_MAX_ARRAY_BYTES=20000000/" ${CI_SCRIPTS}/epics-config.sh
- source ${CI_SCRIPTS}/epics-config.sh
- bash ${CI_SCRIPTS}/run-epics-iocs-on-procserv.sh
- pip install pyepics numpy
install:
- pip install .
- pip install --quiet --upgrade cython
script:
- caget Py:ao1 sim:mtr1 13SIM1:image1:PluginType_RBV
# Kill caRepeater if it's running - we want to test caproto-repeater later.
- pgrep -a caRepeater && killall caRepeater
- rm -f `which caRepeater`
- pip install -Ur test-requirements.txt
- |
if [ ! $INSTALL_NUMPY ]
then
pip uninstall --yes numpy
fi
- pip install git+https://github.com/klauer/catvs.git@py3k
# Work around pip bug that fails to respect trio's pin of attrs.
- pip install -U attrs
- caproto-repeater &
- coverage run --parallel-mode run_tests.py -k 'not bench' --benchmark-disable -v
- coverage combine --append
- export ASV_ENV_NAME=${TRAVIS_PYTHON_VERSION}_${BASE_VER}
- |
if [ $INSTALL_NUMPY ]
then
coverage run --parallel-mode run_tests.py -v --benchmark-only --benchmark-json=pytest_bench.json --benchmark-columns=mean,median,rounds,iterations -k bench --timeout=50 && coverage combine --append
fi
- coverage report -m
- codecov
- set -e
# Install deps for building the docs.
- pip install --quiet --upgrade --global-option='--without-libyaml' pyyaml
# directly install second layer deps to work around easy_install bug
- pip install --quiet cryptography cffi pycparser
- pip install --quiet --upgrade -r docs-requirements.txt
# Run a CA Repeater for the docs examples to use.
- caproto-repeater &
# Build the docs.
- make -C doc html
# Upload the docs to gh-pages.
- if [[ $PUBLISH_DOCS ]]; then
doctr deploy --deploy-repo NSLS-II/NSLS-II.github.io --deploy-branch-name master caproto;
doctr deploy --deploy-repo caproto/caproto.github.io --deploy-branch-name master caproto;
fi