Skip to content

Commit 26d0487

Browse files
authored
[travis] Avoiding build timeouts, removing run-in-docker.sh (#2820)
* Removes run-in-docker.sh from travis build * Updates run-in-docker.sh so it will cache to a volume-bound .m2/repository directory as intended
1 parent e8a83df commit 26d0487

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

.travis.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ language: java
33
jdk:
44
- openjdk8
55

6+
# See https://docs.travis-ci.com/user/languages/java/#caching
7+
before_cache:
8+
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
9+
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
610
cache:
711
directories:
812
- $HOME/.m2
@@ -121,8 +125,9 @@ script:
121125
# fail if generators contain tab '\t'
122126
- /bin/bash ./bin/utils/detect_tab_in_java_class.sh
123127
# run integration tests defined in maven pom.xml
124-
- mvn --quiet --batch-mode clean install
125-
- mvn --quiet --batch-mode verify -Psamples
128+
# WARN: Travis will timeout after 10 minutes of no stdout/stderr activity, which is problematic with mvn --quiet.
129+
- mvn --quiet --batch-mode --show-version clean install
130+
- mvn --quiet --batch-mode --show-version verify -Psamples
126131
after_success:
127132
# push to maven repo
128133
- if [ $SONATYPE_USERNAME ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
@@ -162,3 +167,4 @@ after_success:
162167

163168
env:
164169
- DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli NODE_ENV=test CC=gcc-5 CXX=g++-5
170+

CI/run-in-docker-settings.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
4+
https://maven.apache.org/xsd/settings-1.0.0.xsd">
5+
<!-- This directory matches what is defined in run-in-docker.sh -->
6+
<localRepository>/var/maven/.m2/repository</localRepository>
7+
</settings>

run-in-docker.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@ maven_cache_repo="${HOME}/.m2/repository"
77

88
mkdir -p "${maven_cache_repo}"
99

10+
# !! The -u option below needs to be defined so we don't write to a user's bound ~/.m2/repository as root.
11+
# !! but using this also means we either need to setup a user with the same id, or we execute without a username and home directory.
12+
# !! This means we can't bind the .m2 directory to any user's directory (like /root/.m2).
13+
# !! We _must_ define $MAVEN_CONFIG explicitly as a location that is not /root/.m2; the user executing this may not have access to the container's user's directory.
1014
docker run --rm -it \
1115
-w /gen \
1216
-e GEN_DIR=/gen \
1317
-e MAVEN_CONFIG=/var/maven/.m2 \
18+
-e MAVEN_OPTS="-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=/var/maven/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" \
1419
-u "$(id -u):$(id -g)" \
1520
-v "${PWD}:/gen" \
16-
-v "$HOME/.m2":/root/.m2 \
21+
-v "${PWD}/CI/run-in-docker-settings.xml:/var/maven/.m2/settings.xml" \
22+
-v "${maven_cache_repo}:/var/maven/.m2/repository" \
1723
--entrypoint /gen/docker-entrypoint.sh \
1824
maven:3-jdk-8 "$@"

0 commit comments

Comments
 (0)