forked from playframework/playframework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
146 lines (132 loc) · 4.92 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
language: scala
# Only build non-pushes (so PRs, API requests & cron jobs) OR tags OR forks OR main branch builds
# https://docs.travis-ci.com/user/conditional-builds-stages-jobs/
if: type != push OR tag IS present OR repo != playframework/playframework OR branch IN (master, 2.8.x, 2.7.x, 2.6.x)
addons:
apt:
packages:
# Install xmllint used to get Akka HTTP version
- libxml2-utils
git:
depth: false # Avoid sbt-dynver not seeing the tag
env:
global:
- secure: "NS2hMbBcmi6EF4QxtcNs4A2ZuNmIdLYQRJUWWejgnD4YtcsmoVjxrHRedqrnDdui4DyvaxWhg/3Uds23jEKTSbbh3ZphLO77BVgM2nUGUvVoa4i6qGF2eZFlIhq2G1gM700GPV7X4KmyjYi2HtH8CWBTkqP3g0An63mCZw/Gnlk="
matrix:
- TRAVIS_JDK=11
before_install:
- curl --version # for debug purpose
- if [ ! -f ~/.jabba/jabba.sh ]; then curl -L -v --retry 5 -o jabba-install.sh https://git.io/jabba && bash jabba-install.sh; fi
- . ~/.jabba/jabba.sh
install: jabba install $(jabba ls-remote "adopt@~1.$TRAVIS_JDK.0-0" --latest=patch) && jabba use "$_" && java -Xmx32m -version
stages:
- validations
- test
- test-sbt
- java8
jobs:
include:
- stage: validations
script: scripts/validate-code
name: "Code validations (format, binary compatibilty, whitesource, etc.)"
- script: scripts/validate-docs
name: "Validate docs (links, sample code, etc.)"
- script: scripts/validate-microbenchmarks
name: "Validate that microbenchmarks are runnable"
- name: "Run publishLocal"
script: scripts/publish-local
workspaces:
create:
name: published-local
paths: "$HOME/.ivy2/local/com.typesafe.play"
- name: "Run publishLocal on Java 8"
script: scripts/publish-local
env: TRAVIS_JDK=8
workspaces:
create:
name: published-local-jdk8
paths: "$HOME/.ivy2/local/com.typesafe.play"
- stage: test
script: scripts/test-scala-212
name: "Run tests for Scala 2.12"
- script: scripts/test-docs-212
name: "Run documentation tests 2.12"
- script: scripts/it-test-scala-212
name: "Run it tests for Scala 2.12"
- script: scripts/test-scala-213
name: "Run tests for Scala 2.13"
- script: scripts/test-docs-213
name: "Run documentation tests 2.13"
- script: scripts/it-test-scala-213
name: "Run it tests for Scala 2.13"
- stage: test-sbt
name: "Run scripted tests (a) for sbt 1.x"
script: scripts/test-scripted 'play-sbt-plugin/*1of3'
workspaces:
use: published-local
- name: "Run scripted tests (b) for sbt 1.x"
script: scripts/test-scripted 'play-sbt-plugin/*2of3'
workspaces:
use: published-local
- name: "Run scripted tests (c) for sbt 1.x"
script: scripts/test-scripted 'play-sbt-plugin/*3of3'
workspaces:
use: published-local
# Test against Java 8, but only for Scala 2.12
- stage: java8
script: scripts/test-scala-212
env: TRAVIS_JDK=8
name: "Run tests for Scala 2.12 and Java 8"
- script: scripts/it-test-scala-212
env: TRAVIS_JDK=8
name: "Run it tests for Scala 2.12 and Java 8"
- script: scripts/test-docs-212
env: TRAVIS_JDK=8
name: "Run documentation tests for Scala 2.12 and Java 8"
- name: "Run scripted tests (a) for sbt 1.x and Java 8"
script: scripts/test-scripted 'play-sbt-plugin/*1of3'
env: TRAVIS_JDK=8
workspaces:
use: published-local-jdk8
- name: "Run scripted tests (b) for sbt 1.x and Java 8"
script: scripts/test-scripted 'play-sbt-plugin/*2of3'
env: TRAVIS_JDK=8
workspaces:
use: published-local-jdk8
- name: "Run scripted tests (c) for sbt 1.x and Java 8"
script: scripts/test-scripted 'play-sbt-plugin/*3of3'
env: TRAVIS_JDK=8
workspaces:
use: published-local-jdk8
# Test against sbt 1.3.x, but only for cron builds
- stage: sbt-1.3.x
name: "Run tests for sbt 1.3.x"
script: scripts/test-scripted-13x
if: type = cron
workspaces:
use: published-local
cache:
directories:
- "$HOME/.cache/coursier"
- "$HOME/.ivy2/cache"
- "$HOME/.jabba"
- "$HOME/.sbt"
before_cache:
- rm -rf $HOME/.ivy2/cache/scala_*/sbt_*/com.typesafe.play/*
- find $HOME/.ivy2 -name "ivydata-*.properties" -delete
- find $HOME/.sbt -name "*.lock" -delete
notifications:
email:
recipients:
secure: gxDYtOlihOtFCVxfwjoqRfOJly7EjvUB9KyP4Vz/QyaLVFOKEBQj2z64CaWwsog9g4cb7cWzjofftDhDY/8r16OnG9k3K5OTO4jzD+6N6a2bAFvTjCOrFX/GIPU0hle2Jr0Y7+t1NtkCPlcSDCQ2RyQX4izhyJoL1kOgrUQlutM=
on_failure: always
on_success: never
webhooks:
urls:
- https://webhooks.gitter.im/e/d2c8a242a2615f659595
on_success: always
on_failure: always
slack:
secure: bMaBU2Az2YK0rVx95luyOikXqB/C5khfvuVI03muOGFfdiEEBEZYoqiCtB7OisveBU/orQCrjZJRL9+vCsEwVvIFF1eIa66ZE8wOTOGNMdv8hetdfR6dg2+RLrnE0zltVhlG2XMFK7X743utmE8e3koMWYH8uQSTQCXdOoUJwpQ=
on_success: never
on_failure: always