forked from JanusGraph/janusgraph
-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
118 lines (110 loc) · 6.91 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
# Copyright 2017 JanusGraph Authors
#
# 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.
group: travis_latest
language: java
sudo: true
services:
- docker
jdk:
- openjdk8
cache:
directories:
- ${HOME}/.m2
env:
global:
# This is the encrypted COVERITY_SCAN_TOKEN, created via the
# `travis encrypt` command using the project repo's public key.
- secure: "v5ixqTeb74y0vRuPcDbe3C28GDDYvqyEXA2dt+9UVU6GG7WpnmpkBf05gI1dIhp51lBhwx9WSlFBtzho+KdCBmNY/CzBRhVHe/lCQYK9Hb6uGPvuwBvC0WjJgJXsVrLFjppeRhcf+OAweVQ3uw2RPMDRvKIVMUcO1BTFjjJl6REJXNUdzGS57MtH2mmRyOEz250EwgqUELZvcOytG7fNrjMJKVK2nSsoxi0BqZIpItTWPWWeQ1wi1FplJ18A2qtD+MPfAGNSB+/a+r0Av+VCT2eGl06ZyZAzP3q/vG5IYjQ3AJsSPqcZUt4ms+2us1+kwuzXIILjzZmcfImu29+y/thndU5E5b2v+nZ4H69CUCc5OmKW2RwozLNmBIUhO0n+35va/J7FiPIqm3pwxCz5vWA3YTHDADxnIYe7+9uY/+dOK/AvP5fyu7u07vuF3liKNBdrX7ylP3kYc7FXGmYl8wCZv31iy1yTtndQ9qKef7bo8lM9Cdh39KyowrygH+Um7pr9gqf2S9jn99nQ3bib32fBWgBkLpJRwhZYHPUupZjZfgu/9woby0DuriuHZKMqZd7QUawYz6wXGlhzu78x5Tohlj1pGBwHYdcJ/Tm3PiEpyH4aYQLffkjGHJAcCW5tO8QbB0qrLYWC8xVMWuFz1TpSBRXOqVYdBfIa2UZDtOU="
- COVERITY_BRANCH_NAME="coverity_scan"
- COVERITY_EMAIL="sjudeng@gmail.com"
# Default Elasticsearch heap size can be too large for Travis
- ES_JAVA_OPTS="-Xms256m -Xmx512m"
matrix:
# sort modules by test time with quickest modules first
- MODULE='server'
- MODULE='hadoop-parent/janusgraph-hadoop-2'
- MODULE='lucene'
- MODULE='solr' ARGS='-Pdocker,solr7'
- MODULE='solr' ARGS='-Pdocker,solr6'
- MODULE='solr' ARGS='-Pdocker,solr5'
- MODULE='es' ARGS='-Pelasticsearch6'
- MODULE='es' ARGS='-Pelasticsearch60'
- MODULE='es' ARGS='-Pelasticsearch5'
- MODULE='berkeleyje'
- MODULE='test'
- MODULE='test' TINKERPOP_TESTS_ONLY=true
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/thrift/* -Dtest.skip.unordered=true -Dtest.skip.ssl=true -Dtest.skip.serial=true'
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/thrift/* -Dtest.skip.ordered=true -Dtest.skip.ssl=true -Dtest.skip.serial=true'
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/thrift/* -Dtest.skip.unordered=true -Dtest.skip.ordered=true'
- MODULE='cassandra' ARGS='-Dtest=**/graphdb/thrift/* -Dtest.skip.unordered=true -Dtest.skip.ssl=true -Dtest.skip.serial=true'
- MODULE='cassandra' ARGS='-Dtest=**/graphdb/thrift/* -Dtest.skip.ordered=true -Dtest.skip.ssl=true -Dtest.skip.serial=true'
- MODULE='cassandra' ARGS='-Dtest=**/graphdb/thrift/* -Dtest.skip.unordered=true -Dtest.skip.ordered=true'
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/astyanax/* -Dtest.skip.unordered=true -Dtest.skip.ssl=true -Dtest.skip.serial=true'
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/astyanax/* -Dtest.skip.ordered=true -Dtest.skip.ssl=true -Dtest.skip.serial=true'
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/astyanax/* -Dtest.skip.unordered=true -Dtest.skip.ordered=true'
- MODULE='cassandra' ARGS='-Dtest=**/graphdb/astyanax/*'
- MODULE='cassandra' ARGS='-Dtest=**/diskstorage/cassandra/embedded/*'
- MODULE='cassandra' ARGS='-Dtest=***/cassandra/*,*/graphdb/embedded/*'
- MODULE='hbase-parent/janusgraph-hbase-10' ARGS='-Dtest=**/diskstorage/hbase/*'
- MODULE='hbase-parent/janusgraph-hbase-10' ARGS='-Dtest=**/graphdb/hbase/*'
- MODULE='hbase-parent/janusgraph-hbase-10' INSTALL_ARGS='-Dhbase.profile -Phbase2' ARGS='-Dtest=**/diskstorage/hbase/* -Dhbase.profile -Phbase2'
- MODULE='hbase-parent/janusgraph-hbase-10' INSTALL_ARGS='-Dhbase.profile -Phbase2' ARGS='-Dtest=**/graphdb/hbase/* -Dhbase.profile -Phbase2'
- MODULE='hadoop-parent/janusgraph-hadoop-2' INSTALL_ARGS='-Dhbase.profile -Phbase2' ARGS='-Dhbase.profile -Phbase2'
- MODULE='cql' ARGS='-Dtest=**/diskstorage/cql/* -Dtest.skip.murmur=true'
- MODULE='cql' ARGS='-Dtest=**/diskstorage/cql/* -Dtest.skip.byteorderedpartitioner=true -Dtest.skip.murmur-serial=true -Dtest.skip.murmur-ssl=true'
- MODULE='cql' ARGS='-Dtest=**/graphdb/cql/* -Dtest.skip.murmur=true'
- MODULE='cql' ARGS='-Dtest=**/graphdb/cql/* -Dtest.skip.byteorderedpartitioner=true -Dtest.skip.murmur-serial=true -Dtest.skip.murmur-ssl=true'
- COVERITY_ONLY=true
install:
- if [ "${TRAVIS_BRANCH}" == "${COVERITY_BRANCH_NAME}" ] && [ -n "${COVERITY_ONLY:-}" ]; then
echo "Building all modules for Coverity analysis";
travis_retry travis_wait mvn clean install -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode --show-version;
elif [ "${TRAVIS_BRANCH}" == "${COVERITY_BRANCH_NAME}" ] || ! [ -z "${COVERITY_ONLY:-}" ]; then
echo "Building all modules for test-compile coverage, but skipping Coverity upload";
travis_retry travis_wait mvn clean install -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode --show-version;
else
echo "Building janusgraph-${MODULE} and dependencies";
travis_retry travis_wait mvn clean install --projects janusgraph-${MODULE} --also-make -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode --show-version ${INSTALL_ARGS};
fi
script:
- if [ "${TRAVIS_BRANCH}" == "${COVERITY_BRANCH_NAME}" ] && [ -n "${COVERITY_ONLY:-}" ]; then
echo "Building Docker image for Coverity analysis";
docker build -t janusgraph/analysis analysis;
echo "Running Coverity scan";
travis_wait 50 \
docker run --rm \
-v ${HOME}/.m2:/root/.m2 -v ${PWD}:/opt/janusgraph \
-e COVERITY_SCAN_TOKEN="${COVERITY_SCAN_TOKEN}" \
-e COVERITY_EMAIL="${COVERITY_EMAIL}" \
-i janusgraph/analysis;
elif [ "${TRAVIS_BRANCH}" == "${COVERITY_BRANCH_NAME}" ] || [ -n "${COVERITY_ONLY:-}" ]; then
echo "Skipping module tests on Coverity branch/job";
elif [ "${TINKERPOP_TESTS_ONLY}" == true ]; then
echo "Executing TinkerPop tests on janusgraph-${MODULE}";
travis_wait 50 mvn clean verify --projects janusgraph-${MODULE} -Dtest.skip.tp=false -DskipTests=true ${ARGS};
else
echo "Testing janusgraph-${MODULE}";
travis_wait 50 mvn clean verify --projects janusgraph-${MODULE} -Pcoverage ${ARGS};
fi
after_success:
# Upload test coverage reports to Codecov
- if [ "${TRAVIS_BRANCH}" == "${COVERITY_BRANCH_NAME}" ] || [ -n "${COVERITY_ONLY:-}" ]; then
echo "Skipping test coverage report upload in Coverity branch/job";
else
bash <(curl -s https://codecov.io/bash);
fi
# Syntax and more info: https://docs.travis-ci.com/user/notifications
notifications:
email:
- janusgraph-ci@googlegroups.com