forked from rwth-i6/returnn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
105 lines (98 loc) · 3.48 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
# https://docs.travis-ci.com/user/getting-started/
language: python
python:
- "3.7"
- "2.7"
# https://docs.travis-ci.com/user/reference/overview/
# https://blog.travis-ci.com/2017-04-17-precise-EOL
# Also needed for TensorFlow for glibc 2.7.
dist: xenial
sudo: false # should use the faster container based image
# command to install dependencies
# quiet (-qq) to keep log smaller
# |cat to avoid interactive banner (which blows up the log)
# Note: pip is from a virtualenv, thus --user does not seem to work.
# pip2 without --user (if pip is PY3) also does not work because we don't have root access.
# pip2 with --user (if pip is PY2) does not work, because it the same as pip.
install:
- 'if { python -V 2>&1 | grep -q "Python 3."; } && test -n "$PY3_VER"; then source ~/virtualenv/python$PY3_VER/bin/activate; python -V; fi;'
- pip2 install -qq --upgrade pip setuptools wheel six | cat # Python2<->Python3
- pip2 install --user -r requirements.txt | cat # need for Python2<->Python3 communication tests
- pip2 install --user typing | cat
- pip install typing | cat # needed for Python 2 in some cases
- pip install -qq --upgrade pip setuptools wheel
- pip install --upgrade numpy scipy | cat # TF usually needs the latest Numpy
- pip install -r requirements.txt | cat
- pip install $TF_PACKAGE | cat
- pip install theano==0.9 | cat
- pip install -qq nose
- echo "[global]" >> ~/.theanorc
- echo "device = cpu" >> ~/.theanorc
- echo "floatX = float32" >> ~/.theanorc
- python --version
- python -c "import numpy; print(numpy.version.full_version)"
- python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
- python -c "import theano; print(theano.__version__)"
# https://docs.travis-ci.com/user/environment-variables/
# TF tests first, because more relevant (for me), then ordered by alphabet
env:
global:
- TF_PACKAGE=tensorflow==1.15.0
matrix:
- TEST=TFEngine
- TEST=TFNativeOp
# There are no Python >=3.7 pip packages for older TF versions.
- TEST=TFNativeOp TF_PACKAGE=tensorflow==1.8.0 PY3_VER=3.6
- TEST=TFNativeOp TF_PACKAGE=tensorflow==1.4.0 PY3_VER=3.6
- TEST=TFNetworkLayer
- TEST=TFNetworkRecLayer
- TEST=TFNetworkSigProcLayer
- TEST=TFUpdater
- TEST=TFUtil
- TEST=Config
- TEST=Dataset
# Theano using NativeOp is somewhat broken on Python 3.7 in some cases, thus we use Python 3.6.
- TEST=demos PY3_VER=3.6
- TEST=Device
- TEST=EngineTask
- TEST=EngineUtil
- TEST=fork_exec
- TEST=Fsa
- TEST=GeneratingDataset
- TEST=hdf_dump
- TEST=HDFDataset
- TEST=LearningRateControl
- TEST=Log
- TEST=multi_target
- TEST=MultiBatchBeam PY3_VER=3.6
- TEST=NativeOp PY3_VER=3.6
- TEST=NativeOp_chunk
- TEST=NativeOp_sparse
- TEST=NativeOp_subtensor_batched_index
- TEST=Network
- TEST=NetworkBaseLayer
- TEST=NetworkDescription
- TEST=NetworkLayer
- TEST=Pretrain
- TEST=SprintDataset
- TEST=SprintInterface
- TEST=TaskSystem
- TEST=TaskSystem_SharedMem
- TEST=TheanoUtil
- TEST=Util
matrix:
include:
- env: RUN=tests/pylint.py
- env: RUN=tests/pycharm-inspect.py
allow_failures:
- env: RUN=tests/pylint.py
- env: RUN=tests/pycharm-inspect.py
fast_finish: true
# command to run tests
script:
- 'if [[ ! -z "$TEST" ]]; then nosetests tests/test_$TEST.py; fi'
- 'if [[ ! -z "$RUN" ]]; then $RUN; fi'
# https://docs.travis-ci.com/user/notifications
# no notifications
notifications:
email: false