forked from lagom/lagom
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
90 lines (80 loc) · 3.45 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
language: scala
# Only build non-pushes (so PRs, API requests & cron jobs) OR tags OR forks
# https://docs.travis-ci.com/user/conditional-builds-stages-jobs/
if: type != push OR tag IS present OR repo != lagom/lagom
addons:
apt:
packages:
# Needed for `xmllint` which is used to validate pom files
- libxml2-utils
- xmlstarlet
# Used to download maven xsd file
- wget
env:
global:
# the following `secure` is WHITESOURCE_PASSWORD which is the same for all branches.
- secure: "A4xDS51pB8ERJPR/a5Lui//E//1L9pJ9Eg1kcRm/OR2izg7rx7p8Wemfp9gRhz8trn1mIrXDSMSK9iwENsfIP1bc/6AgtTWKBPm9DKjG0HW3swFFMBzzd6gxmOi4JD8rOtVc62Cf4qnURz+hsPRcI5C8aAW1fNi/5x1Q3HcAMtxE8EdPR7tU6Ve8utieOFPpqNQMktcL1aFusu+QddO14ZpQ944uAg0YdRRYFMG9SCbTkNDLt66AHTF4rKyZfkbM1tadqvvDez7Uo2eGK+KoQxTyrjct8W4Gqh+obOTyj1ngaPZEKvgbIJowFCrBzY5W+oNl6S+qa6PyAwq1MWKFqyUZt4P9fk3N9MDOYvuaS+YJCQd3VS4qCL9MEWahXNc3ZT+m8u5HT5axuPy+2qiKL/wrGzAXd74K9gNKuZJD7s+79Pwn34ZEbNMZ13AxyF6QkavU+Xcr5tQNwwZ+8P+k5OGoVsJOqZ3J7M+igGDRZh0fD693Wdp+mfORQqIvJFKED4daJYgTLufwt4tBLUxPUvlUZOWZFPn8DSQqTE7vsE9VPdpKSXTv1MyHxeMTiAX+XPabEWoazB8/4rljkC/EPxAButPD+AtUatfa6fIXpyGxHIvX8CFa2UnOQe9YbTRnxqa8TYvyMsWNQn1Q1eQMkvXCetqoefW5hA0UHTU5Zy4="
matrix:
before_install:
# See https://github.com/travis-ci/travis-ci/issues/4629#issuecomment-239493916
- rm ~/.m2/settings.xml
- curl -Ls https://git.io/jabba | bash && . ~/.jabba/jabba.sh
install: jabba install "$TRAVIS_JDK" && jabba use $_ && java -Xmx32m -version
git:
depth: false # Avoid sbt-dynver not seeing the tag
stages:
- validations-and-test
- test-build-tools
jobs:
include:
- stage: validations-and-test
script: bin/test-code-style
name: "Code validations (format, binary compatibilty, whitesource, etc.)"
- script: SCALA_VERSION=2.12.8 bin/test-2.1x
name: "Run tests for Scala 2.12"
- script: SCALA_VERSION=2.12.8 bin/test-2.1x
env: [email protected]
name: "Run tests for Scala 2.12 and Java 11"
- script: bin/test-documentation
name: "Documentation validations and tests"
- script: bin/test-docs-code-only
env: [email protected]
name: "Documentation tests (Java 11)"
- stage: test-build-tools
script: bin/test-sbt-0.13
name: "Scripted tests for sbt 0.13"
- script: bin/test-sbt-1.0
name: "Scripted tests for sbt 1"
- script: bin/test-sbt-1.0
env: [email protected]
name: "Scripted tests for sbt 1 and Java 11"
- script: bin/test-maven
name: "PublishM2 and test Maven"
- script: bin/test-maven
name: "PublishM2 and test Maven using Java 11"
env: [email protected]
cache:
directories:
- $HOME/.ivy2
- $HOME/.jabba/jdk
- $HOME/.sbt
- $HOME/.m2/repository
before_cache:
# Ensure changes to the cache aren't persisted
- rm -rf $HOME/.ivy2/cache/com.lightbend.lagom/*
- rm -rf $HOME/.ivy2/cache/scala_*/sbt_*/com.lightbend.lagom/*
- rm -rf $HOME/.ivy2/local/com.lightbend.lagom/*
- rm -rf $HOME/.ivy2/local/scala_*/sbt_*/com.lightbend.lagom/*
- rm -r $HOME/.m2/repository/com/lightbend/lagom/*
# Delete all ivydata files since ivy touches them on each build
- find $HOME/.ivy2 -name "ivydata-*.properties" -delete
- find $HOME/.sbt -name "*.lock" -delete
notifications:
email: [email protected]
webhooks:
urls:
- https://webhooks.gitter.im/e/2aa0aeda88d31fe293d4
on_success: change
on_failure: always
on_start: never