forked from playframework/playframework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
164 lines (150 loc) · 6.12 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
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="
# These are the versions used for (scripted) tests. The versions Play is build with however are defined in interplay.
- SCRIPTED_SBT_1_3: "1.3.13"
- SCRIPTED_SBT_1_5: "1.5.3"
- TEST_SCALA_2_12: "2.12.14"
- TEST_SCALA_2_13: "2.13.6"
jobs:
- TRAVIS_JDK=11
before_install:
- |
curl -Ls https://git.io/sbt -o sbt || travis_terminate 1
chmod 0755 sbt || travis_terminate 1
sudo mv sbt /usr/local/bin/sbt || travis_terminate 1
- 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-1.3.x
- cron-test-sbt-1.3.x
- cron-test-sbt-1.5.x
- java8
jobs:
include:
- stage: validations
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"
- 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"
- stage: test
script: scripts/it-test $TEST_SCALA_2_13
name: "Run it tests for Scala 2.13"
- script: scripts/it-test $TEST_SCALA_2_12
name: "Run it tests for Scala 2.12"
- script: scripts/test $TEST_SCALA_2_13
name: "Run tests for Scala 2.13"
- script: scripts/test $TEST_SCALA_2_12
name: "Run tests for Scala 2.12"
- script: scripts/test-docs $TEST_SCALA_2_13
name: "Run documentation tests 2.13"
- script: scripts/test-docs $TEST_SCALA_2_12
name: "Run documentation tests 2.12"
- stage: test-sbt-1.3.x
name: "Run scripted tests (a) for sbt 1.3.x and Scala 2.12.x"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_12 'play-sbt-plugin/*1of3'
workspaces:
use: published-local
- name: "Run scripted tests (b) for sbt 1.3.x and Scala 2.12.x"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_12 'play-sbt-plugin/*2of3'
workspaces:
use: published-local
- name: "Run scripted tests (c) for sbt 1.3.x and Scala 2.12.x"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_12 'play-sbt-plugin/*3of3'
workspaces:
use: published-local
# Test against Java 8, but only for Scala 2.12
- stage: java8
script: scripts/test $TEST_SCALA_2_12
env: TRAVIS_JDK=8
name: "Run tests for Scala 2.12 and Java 8"
- script: scripts/it-test $TEST_SCALA_2_12
env: TRAVIS_JDK=8
name: "Run it tests for Scala 2.12 and Java 8"
- script: scripts/test-docs $TEST_SCALA_2_12
env: TRAVIS_JDK=8
name: "Run documentation tests for Scala 2.12 and Java 8"
- name: "Run scripted tests (a) for sbt 1.3.x and Scala 2.12.x and Java 8"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_12 'play-sbt-plugin/*1of3'
env: TRAVIS_JDK=8
workspaces:
use: published-local-jdk8
- name: "Run scripted tests (b) for sbt 1.3.x and Scala 2.12.x and Java 8"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_12 'play-sbt-plugin/*2of3'
env: TRAVIS_JDK=8
workspaces:
use: published-local-jdk8
- name: "Run scripted tests (c) for sbt 1.3.x and Scala 2.12.x and Java 8"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_12 'play-sbt-plugin/*3of3'
env: TRAVIS_JDK=8
workspaces:
use: published-local-jdk8
# Test against sbt 1.3.x and Scala 2.13.x, but only for cron builds
# (sbt 1.3.x / Scala 2.12.x was tested above already)
- stage: cron-test-sbt-1.3.x
name: "Run tests for sbt 1.3.x and Scala 2.13.x"
script: scripts/test-scripted $SCRIPTED_SBT_1_3 $TEST_SCALA_2_13
if: type = cron
workspaces:
use: published-local
# Test against sbt 1.5.x, but only for cron builds
- stage: cron-test-sbt-1.5.x
name: "Run tests for 1.5.x and Scala 2.13.x"
script: scripts/test-scripted $SCRIPTED_SBT_1_5 $TEST_SCALA_2_13
if: type = cron
workspaces:
use: published-local
cache:
directories:
- "$HOME/.cache/coursier"
- "$HOME/.ivy2/cache"
- "$HOME/.jabba"
- "$HOME/.sbt"
before_cache:
- 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