forked from kubeflow/pipelines
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
171 lines (161 loc) · 6.7 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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
matrix:
include:
- language: node_js
node_js: "11.8.0"
addons:
chrome: stable
before_install: npm i -g npm@latest
script:
# Frontend tests
- cd $TRAVIS_BUILD_DIR/frontend
- node -v
- npm ci
# Comment out next line if coverall has an ongoing outage to unblock.
- npm run test:ci
- language: generic
env:
- BAZEL_URL="https://github.com/bazelbuild/bazel/releases/download/0.23.0/bazel-0.23.0-installer-linux-x86_64.sh"
before_install:
# Install Bazel
- |
wget --no-verbose -O install.sh "${BAZEL_URL}"
chmod +x install.sh
./install.sh --user
rm -f install.sh
script:
# Backend unit tests
- cd $TRAVIS_BUILD_DIR/backend/src
- gimme -f 1.11.4
- |
bazel --host_jvm_args=-Xmx500m --host_jvm_args=-Xms500m \
build --noshow_progress --noshow_loading_progress --define=grpc_no_ares=true //backend/...
- |
bazel --host_jvm_args=-Xmx500m --host_jvm_args=-Xms500m \
test --noshow_progress --noshow_loading_progress --define=grpc_no_ares=true //backend/...
- source ~/.gimme/envs/go1.11.4.env
- go vet -all -shadow ./agent/...
- go vet -all -shadow ./common/...
- go vet -all -shadow ./crd/...
- go test ./agent/...
- go test ./common/...
- go test ./crd/...
- language: python
python: "2.7"
env: TOXENV=py27
script:
# Component SDK tests
- cd $TRAVIS_BUILD_DIR/components/gcp/container/component_sdk/python
- ./run_test.sh
- language: python
python: "3.5"
env: TOXENV=py35
before_install:
- export PYTHONPATH=$PYTHONPATH:/home/travis/.local/lib/python3.5/site-packages/
install: &0
- python3 -m pip install -r $TRAVIS_BUILD_DIR/sdk/python/requirements.txt
# Additional dependencies
- pip3 install coverage coveralls
# Sample test infra dependencies
- pip3 install minio
- pip3 install junit_xml
# Visualization test dependencies
- cd $TRAVIS_BUILD_DIR/backend/src/apiserver/visualization
- pip3 install -r requirements-test.txt
script: &1 # DSL tests
- cd $TRAVIS_BUILD_DIR/sdk/python
- python3 -m pip install -e .
- cd $TRAVIS_BUILD_DIR # Changing the current directory to the repo root for correct coverall paths
- coverage run --source=kfp --append sdk/python/tests/dsl/main.py
- coverage run --source=kfp --append sdk/python/tests/compiler/main.py
- coverage run --source=kfp --append -m unittest discover --verbose --start-dir sdk/python/tests --top-level-directory=sdk/python
- coveralls
# Test against TFX
# Compile and setup protobuf
- PROTOC_ZIP=protoc-3.7.1-linux-x86_64.zip
- curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/$PROTOC_ZIP
- sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
- sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
- rm -f $PROTOC_ZIP
# Install TFX from head
- cd $TRAVIS_BUILD_DIR
- git clone https://github.com/tensorflow/tfx.git
- cd $TRAVIS_BUILD_DIR/tfx
- pip3 install --upgrade pip
- python3 -m pip install "tensorflow>=1.14,<2"
- set -x
- set -e
- python3 setup.py bdist_wheel
- WHEEL_PATH=$(find dist -name "tfx-*.whl")
- python3 -m pip install "${WHEEL_PATH}" --upgrade
- set +e
- set +x
# Two KFP-related unittests
- cd $TRAVIS_BUILD_DIR/tfx/tfx/orchestration/kubeflow
- python3 kubeflow_dag_runner_test.py
- cd $TRAVIS_BUILD_DIR/tfx/tfx/examples/chicago_taxi_pipeline
- python3 taxi_pipeline_kubeflow_test.py
# Visualization test
- cd $TRAVIS_BUILD_DIR/backend/src/apiserver/visualization
- python3 test_exporter.py
- python3 test_server.py
# Test loading all component.yaml definitions
- $TRAVIS_BUILD_DIR/components/test_load_all_components.sh
# Component SDK tests
- cd $TRAVIS_BUILD_DIR/components/gcp/container/component_sdk/python
- ./run_test.sh
# Sample test unittests.
- cd $TRAVIS_BUILD_DIR/test/sample-test/unittests
- python3 -m unittest utils_tests.py
- language: python
python: "3.6"
env: TOXENV=py36
before_install:
- export PYTHONPATH=$PYTHONPATH:/home/travis/.local/lib/python3.6/site-packages/
install: *0
script: *1
- language: python
python: "3.7"
env: TOXENV=py37
before_install:
- export PYTHONPATH=$PYTHONPATH:/home/travis/.local/lib/python3.7/site-packages/
install: *0
script:
# DSL tests
- cd $TRAVIS_BUILD_DIR/sdk/python
- python3 setup.py develop
- cd $TRAVIS_BUILD_DIR # Changing the current directory to the repo root for correct coverall paths
- coverage run --source=kfp --append sdk/python/tests/dsl/main.py
- coverage run --source=kfp --append sdk/python/tests/compiler/main.py
- coverage run --source=kfp --append -m unittest discover --verbose --start-dir sdk/python/tests --top-level-directory=sdk/python
- coveralls
# Currently TFX kubeflow test is not compatible with Python 3.7
# Visualization test
- cd $TRAVIS_BUILD_DIR/backend/src/apiserver/visualization
- python3 test_exporter.py
- python3 test_server.py
# Test loading all component.yaml definitions
- $TRAVIS_BUILD_DIR/components/test_load_all_components.sh
# Component SDK tests
- cd $TRAVIS_BUILD_DIR/components/gcp/container/component_sdk/python
- ./run_test.sh
# Sample test unittests.
- cd $TRAVIS_BUILD_DIR/test/sample-test/unittests
- python3 -m unittest utils_tests.py
- name: "Lint Python code with flake8"
language: python
python: "3.7"
install: pip install flake8
script: flake8 . --count --exclude=backend/src/apiserver/visualization/types/*.py --select=E9,F63,F7,F82 --show-source --statistics