Skip to content

Commit

Permalink
fix travis ci
Browse files Browse the repository at this point in the history
  • Loading branch information
rick.boyd committed Mar 2, 2018
1 parent 10832c2 commit 2999174
Show file tree
Hide file tree
Showing 4 changed files with 209 additions and 73 deletions.
151 changes: 102 additions & 49 deletions .travis.yml
Expand Up @@ -2,68 +2,107 @@ language: java

sudo: false

dist: trusty

cache:
directories:
- $HOME/.m2

before_install:
- unset _JAVA_OPTIONS
- rm ~/.m2/settings.xml
- export MAVEN_SKIP_RC=true
- export MAVEN_OPTS="-Xmn64M -Xmx512M -XX:MaxMetaspaceSize=144M -XX:CompressedClassSpaceSize=96M"
- export JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=96M -XX:CompressedClassSpaceSize=96M"

before_script:
- unset GEM_PATH GEM_HOME IRBRC
- "export PATH=`pwd`/bin:$PATH"
- unset GEM_PATH GEM_HOME IRBRC JRUBY_OPTS
- unset _JAVA_OPTIONS # travis/travis#8408
- export PATH="`pwd`/bin:$PATH"
- echo $HOME
- echo $JAVA_OPTS
- echo $MAVEN_OPTS

before_install:
- mvn -Xmx32M -v | grep 1.6.0; if [ $? = 0 ]; then export JAVA_OPTS="-client"; else export JAVA_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1"; fi
- mvn -Xmx32M -v | grep 1.[67].0; if [ $? = 0 ]; then export JAVA_OPTS="-XX:MaxPermSize=224M $JAVA_OPTS"; else export JAVA_OPTS="-XX:MaxMetaspaceSize=224M -XX:CompressedClassSpaceSize=192M $JAVA_OPTS"; fi
- export JAVA_OPTS="-Xmn32M -Xmx544M $JAVA_OPTS" && echo $JAVA_OPTS
- mvn -Xmx32M -v | grep 1.[67].0; if [ $? = 0 ]; then export ANT_OPTS="-XX:MaxPermSize=80M"; else export ANT_OPTS="-XX:MaxMetaspaceSize=80M -XX:CompressedClassSpaceSize=72M"; fi
- export ANT_OPTS="-Xmn48M -Xmx160M $ANT_OPTS" && echo $ANT_OPTS
jdk:
- oraclejdk8

jdk: openjdk6
os:
- linux

env:
# disable cext
global:
- JAVA_OPTS="-Djruby.cext.enabled=false $JAVA_OPTS"
- JAVA_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xms48M -Xmx640M -XX:InitialCodeCacheSize=40M -XX:ReservedCodeCacheSize=120M -Djava.security.egd=file:/dev/./urandom"
- MALLOC_ARENA_MAX=2
matrix:
- TARGET='test-extended'
- TARGET='spec:ruby:fast'
- TARGET='spec:ruby19:fast'
- TARGET='jruby-jars'
- TARGET='complete'
- TARGET='osgi'
- TARGET='jruby-jars-extended'
- TARGET='main-extended'
- PHASE='-Ptest'
- PHASE='-Prake -Dtask=test:jruby'
#- PHASE='-Prake -Dtask=test:jruby:fullint' # included with OpenJDK bellow
- PHASE='-Prake -Dtask=test:jruby:jit'
- PHASE='-Prake -Dtask=test:jruby:aot'
- PHASE='-Prake -Dtask=test:mri'
- PHASE='-Prake -Dtask=test:mri:fullint'
- PHASE='-Prake -Dtask=test:mri:jit'
- PHASE='-Prake -Dtask=test:slow_suites'
- PHASE='-Prake -Dtask=test:tracing'
- PHASE='-Prake -Dtask=spec:ji'
- PHASE='-Prake -Dtask=spec:compiler'
- PHASE='-Prake -Dtask=spec:compiler' JRUBY_OPTS=-Xcompile.invokedynamic
- PHASE='-Prake -Dtask=spec:ffi'
- PHASE='-Prake -Dtask=spec:regression'
- PHASE='-Prake -Dtask=spec:ruby:fast'
- PHASE='-Prake -Dtask=spec:jruby'
- PHASE='-Prake -Dtask=spec:jrubyc'
- PHASE='-Prake -Dtask=spec:profiler'

matrix:
include:
# there is one integration test which uses a external jar for jdk7+
- jdk: oraclejdk7
env: TARGET='main'
- jdk: oraclejdk7
env: TARGET='j2ee'
- jdk: openjdk7
env: TARGET='test-extended'
- jdk: openjdk7
env: TARGET='spec:ruby19:fast'
- jdk: oraclejdk8
env: TARGET='test-extended'
- jdk: oraclejdk8
env: TARGET='spec:ruby19:fast'
- jdk: oraclejdk8 # less process Kill-ing under 8 than 6/7
env: TARGET='jruby-jars-extended'
- jdk: oraclejdk8 # less process Kill-ing under 8 than 6/7
env: TARGET='main-extended'
fast_finish: true
- env: PHASE='-Ptest'
jdk: openjdk8
- env: PHASE='-Prake -Dtask=test:jruby:fullint'
jdk: openjdk8
# these profile do no need to run for all JDKs
- env: PHASE='-Pdist'
jdk: openjdk8
- env: PHASE='-Pjruby-jars'
jdk: openjdk8
- env: PHASE='-Pmain'
jdk: oraclejdk8
- env: PHASE='-Pcomplete'
jdk: oraclejdk8
- env: PHASE='-Posgi'
jdk: oraclejdk8
- env: PHASE='-Pj2ee'
jdk: oraclejdk8
- env: PHASE='-Pjruby-jars,test -Dinvoker.test=extended'
jdk: oraclejdk8
- env: PHASE='-Pmain,test -Dinvoker.test=extended'
jdk: oraclejdk8
- env: PHASE='-Pjruby_complete_jar_extended -Dinvoker.skip=true'
jdk: oraclejdk8
- env: COMMAND=test/check_versions.sh
jdk: oraclejdk8
- env: PHASE='-Prake -Dtask=test:jruby:jit'
jdk: oraclejdk9
- env: PHASE='-Prake -Dtask=test:mri:jit'
jdk: oraclejdk9
- env: PHASE='-Prake -Dtask=spec:ruby:fast'
jdk: oraclejdk9
- env: PHASE='-Pmain'
jdk: oraclejdk9
- env: PHASE='-Pcomplete'
jdk: oraclejdk9
allow_failures:
- env: PHASE='-Prake -Dtask=test:jruby:jit'
jdk: oraclejdk9
- env: PHASE='-Prake -Dtask=test:mri:jit'
jdk: oraclejdk9
- env: PHASE='-Prake -Dtask=spec:ruby:fast'
jdk: oraclejdk9

branches:
only:
- master
- jruby-1_7
- /^test-.*$/
- /^ha-feature/
install:
- ./mvnw $MAVEN_CLI_OPTS package -B -Dinvoker.skip -Dmaven.test.skip
script: tool/travis-script.sh

#before_install:
# - if [[ $TRAVIS_JDK_VERSION = 'oraclejdk8' ]]; then sudo apt-get update; sudo apt-get install oracle-java8-installer; else true; fi

install: /bin/true
# |^[[:space:]]*\[exec\][[:space:]]*$
script: "travis_retry ant $TARGET | egrep -v 'Download|\\[exec\\] [[:digit:]]+/[[:digit:]]+|^[[:space:]]*\\[exec\\][[:space:]]*$' ; [ ${PIPESTATUS[0]} == 0 ]"
notifications:
irc:
channels:
Expand All @@ -73,3 +112,17 @@ notifications:
template:
- "%{repository} (%{branch}:%{commit} by %{author}): %{message} (%{build_url})"
skip_join: true

# we are on a branch
on_success: always
on_failure: never

services:
- redis-server
- haveged

addons:
apt:
packages:
- oracle-java9-installer
- haveged
30 changes: 6 additions & 24 deletions appveyor.yml
Expand Up @@ -3,38 +3,20 @@ version: '{build}'
build: off

environment:
global:
MAVEN_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmn48M -Xmx512M"
JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmn48M -Xmx512M"
matrix:
- JAVA_HOME: C:\Program Files\Java\jdk1.8.0
- JAVA_HOME: C:\Program Files (x86)\Java\jdk1.8.0

install:
- ps: >-
Add-Type -AssemblyName System.IO.Compression.FileSystem
if (!(Test-Path -Path "C:\maven" )) {
(new-object System.Net.WebClient).DownloadFile(
'http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.zip',
'C:\maven-bin.zip'
)
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\maven-bin.zip", "C:\maven")
}
- ps: >-
Add-Type -AssemblyName System.IO.Compression.FileSystem
if (!(Test-Path -Path "C:\ant" )) {
(new-object System.Net.WebClient).DownloadFile(
'http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.7-bin.zip',
'C:\ant-bin.zip'
)
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\ant-bin.zip", "C:\ant")
}
- cmd: SET PATH=C:\maven\apache-maven-3.3.3\bin;C:\ant\apache-ant-1.9.7\bin;%JAVA_HOME%\bin;%PATH%
- cmd: echo %PATH%
- cmd: java -version
- mvn -X -v

cache:
- C:\maven
- C:\Users\appveyor\.m2
- C:\Users\appveyor\.m2\repository -> pom.rb

test_script:
- mvn -Ptest
- ant test:mri:appveyor
79 changes: 79 additions & 0 deletions test/check_versions.sh
@@ -0,0 +1,79 @@
#!/bin/bash

# Checks that the artefacts produced by the JRuby build system have the correct
# names and versions, and have reasonable sizes.

jar_version=`cat VERSION`
gem_version=${jar_version/-/.}

rm -rf maven/*/target/*

./mvnw install -Pbootstrap
./mvnw -Pcomplete
./mvnw -Pdist
./mvnw -Pjruby-jars
./mvnw -Pmain

declare -a failed
failed[0]=0

function check {
archive=$1
max=$2*1024*1024
unpackaged=$3
length=`cat $archive | wc -c`

if [ ! -f $archive ]
then
echo $archive was not found - check your version numbers
failed[0]=1
fi

if [[ $length -gt $max ]]
then
echo size of $archive expected smaller then $max but got $length
failed[0]=1
fi

if [[ $archive == *.tar.gz ]]
then
rm -rf $unpackaged
tar -zxf $archive

if [ ! -d $unpackaged ]
then
echo $archive did not untar to $unpackaged - check your version numbers
failed[0]=1
fi
fi

if [[ $archive == *.zip ]]
then
rm -rf $unpackaged
unzip -q $archive

if [ ! -d $unpackaged ]
then
echo $archive did not unzip to $unpackaged - check your version numbers
failed[0]=1
fi
fi

}

# extended from 9 to 11 to accommodate temporary copy of stdlib 2.3
check lib/target/jruby-stdlib-$jar_version.jar 11
check maven/jruby-jars/pkg/jruby-jars-$gem_version.gem 30
check maven/jruby-jars/lib/jruby-core-$jar_version-complete.jar 14
# extended from 9 to 11 to accommodate temporary copy of stdlib 2.3
check maven/jruby-jars/lib/jruby-stdlib-$jar_version.jar 11
check maven/jruby-complete/target/jruby-complete-$jar_version.jar 27
check maven/jruby/target/jruby-$jar_version.jar 9
check maven/jruby-dist/target/jruby-dist-$jar_version-bin.tar.gz 45 jruby-$jar_version
check maven/jruby-dist/target/jruby-dist-$jar_version-bin200.tar.gz 20 jruby-$jar_version
# extended from 15 to 20 to accommodate temporary copy of stdlib 2.2.2
check maven/jruby-dist/target/jruby-dist-$jar_version-src.zip 20 jruby-$jar_version
check maven/jruby-dist/target/jruby-dist-$jar_version-bin.zip 45 jruby-$jar_version
check core/target/jruby-core-$jar_version.jar 10

exit "${failed[0]}"
22 changes: 22 additions & 0 deletions tool/travis-script.sh
@@ -0,0 +1,22 @@
#!/usr/bin/env bash

set -e
set -x

if [[ -v PHASE ]]
then
DOWNLOAD_OUTPUT_FILTER='Download|\\[exec\\] [[:digit:]]+/[[:digit:]]+|^[[:space:]]*\\[exec\\][[:space:]]*$'
./mvnw $MAVEN_CLI_OPTS package -B -Dinvoker.skip=false $PHASE | egrep -v "$DOWNLOAD_OUTPUT_FILTER"

MVN_STATUS=${PIPESTATUS[0]}

if [ $MVN_STATUS != 0 ]
then
exit $MVN_STATUS
fi
fi

if [[ -v COMMAND ]]
then
$COMMAND
fi

0 comments on commit 2999174

Please sign in to comment.