forked from apache/calcite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
77 lines (75 loc) · 2.75 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
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you 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.
#
# Configuration file for Travis continuous integration.
# See https://travis-ci.com/github/apache/calcite
language: java
matrix:
fast_finish: true
include:
- jdk: openjdk8
env:
- TZ=America/New_York # flips between −05:00 and −04:00
- GUAVA=19.0 # oldest supported Guava version
- jdk: openjdk11
env:
- CHECKERFRAMEWORK=Y
script:
- export _JAVA_OPTIONS="-XX:GCTimeLimit=90 -XX:GCHeapFreeLimit=35"
- travis_wait ./gradlew --no-parallel --no-daemon --scan -Pguava.version=${GUAVA:-29.0-jre} -PenableCheckerframework :linq4j:classes :core:classes
- jdk: openjdk11
env:
- ERRORPRONE=Y
- GUAVA=31.1-jre # ErrorProne checks for Beta APIs, so use newest supported Guava version
script:
- export _JAVA_OPTIONS="-XX:GCTimeLimit=90 -XX:GCHeapFreeLimit=35"
- ./gradlew --no-parallel --no-daemon --scan -Pguava.version=${GUAVA:-29.0-jre} -PenableErrorprone classes
- jdk: openjdk11
env:
- TZ=Pacific/Chatham # flips between +12:45 and +13:45
- jdk: openjdk15
env:
- GUAVA=31.1-jre # newest supported Guava version
- jdk: openjdk16
env:
- GUAVA=31.1-jre
- jdk: openjdk17
env:
- GUAVA=31.1-jre
- jdk: openjdk18
env:
- GUAVA=31.1-jre
branches:
only:
- main
- javadoc
- /^branch-.*$/
- /^[0-9]+-.*$/
install: true
script:
# Throw OutOfMemoryError in case less than 35% is free after full GC
# This avoids never-ending GC trashing if memory gets too low in case of a memory leak
- export _JAVA_OPTIONS="-XX:GCTimeLimit=90 -XX:GCHeapFreeLimit=35"
- ./gradlew --no-daemon -Pguava.version=${GUAVA:-29.0-jre} build
git:
depth: 100
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
before_cache:
- ./gradlew --stop
- F=CleanupGradleCache sh -x -c 'curl -O https://raw.githubusercontent.com/vlsi/cleanup-gradle-cache/v1.x/$F.java && javac -J-Xmx128m $F.java && java -Xmx128m $F'