-
Notifications
You must be signed in to change notification settings - Fork 11
/
.travis.yml
76 lines (61 loc) · 2.59 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
language: java
sudo: false
# Skip the default Maven command launched by Travis.
# By default, it is "mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V"
install: true
# Use our own version of Maven
cache:
directories:
- "$HOME/.m2/repository"
- "$HOME/apache-maven-3.5.4"
before_install:
- export M2_HOME=$HOME/apache-maven-3.5.4
- if [ ! -d $M2_HOME/bin ]; then curl https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz | tar zxf - -C $HOME; fi
- export PATH=$M2_HOME/bin:$PATH
# Global ENV variables (shared by all the items in the build matrix).
env:
global:
- ROBOCONF_IT_TIMEOUT=60000
- MAVEN_OPTS=" -Xms256m -Xmx512m "
# Our build matrix implies several JDK.
#
# Oracle JDK 8 => basic build with specific settings to validate the Javadoc.
# Open JDK 8 => basic build.
# Open JDK 7 => one build for Coveralls and snapshots deployment.
# Open JDK 7 => another build to run integration tests (but not unit tests).
#
# Reminders
# =========
# -q: quiet
# --settings: pass a settings XML file in parameter (required for deployment).
# -DskipTests: compile unit tests but do not run them.
# -P: execute a specific profile.
# -rf: resume the build from a particular module.
# -D: set a Maven property.
#
# Notice that...
#
# mvn versions:update-child-modules -DgenerateBackupPoms=false -DallowSnapshots=true -P it-all
#
# ... is used to prevent build failures when running integration tests when we release.
# See https://github.com/roboconf/roboconf-platform/issues/766 for more details.
#
matrix:
include:
# - jdk: oraclejdk8
# env: BUILD_CMD="mvn clean install -q -Droboconf.javadoc.check"
# - jdk: openjdk8
# env: BUILD_CMD="mvn clean install -q"
- jdk: openjdk8
env: BUILD_CMD='( [[ "$TRAVIS_PULL_REQUEST" == "false" ]] && wget http://roboconf.net/resources/build/settings.xml && mvn clean deploy cobertura:cobertura coveralls:report -q --settings settings.xml ) || mvn clean install -q'
- jdk: openjdk8
env: BUILD_CMD="mvn clean install -q -DskipTests && mvn versions:update-child-modules -DgenerateBackupPoms=false -DallowSnapshots=true -P it-all && mvn install -q -P it-dm-agent -rf :roboconf-integration-tests-commons"
- jdk: openjdk8
env: BUILD_CMD="mvn clean install -q -DskipTests && mvn versions:update-child-modules -DgenerateBackupPoms=false -DallowSnapshots=true -P it-all && mvn install -q -P it-agents-in-memory -rf :roboconf-integration-tests-commons"
# Make sure there is a RabbitMq server.
services:
- rabbitmq
# For debug only
# - puppet --version
# Build with Maven.
script: eval $BUILD_CMD