Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated travis build scripts (from rspec-dev)
- Loading branch information
1 parent
8373eb8
commit 8d365c4
Showing
6 changed files
with
162 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,25 +1,23 @@ | |||
before_install: | # This file was generated on 2014-01-25T09:32:04-08:00 from the rspec-dev repo. | ||
- gem update bundler | # DO NOT modify it by hand as your changes will get lost the next time it is generated. | ||
- bundle --version |
|
||
- gem update --system 2.1.11 | before_install: "script/clone_all_rspec_repos" | ||
- gem --version | bundler_args: "--binstubs --standalone --without documentation --path ../bundle" | ||
bundler_args: "--standalone --binstubs --without documentation" | script: "script/run_build" | ||
script: "script/test_all" | |||
rvm: | rvm: | ||
- 1.8.7 | - 1.8.7 | ||
- 1.9.2 | - 1.9.2 | ||
- 1.9.3 | - 1.9.3 | ||
- 2.0.0 | - 2.0.0 | ||
- 2.1.0 | - 2.1.0 | ||
- ruby-head | |||
- ree | |||
- jruby-18mode | - jruby-18mode | ||
- jruby-19mode | - jruby-19mode | ||
- jruby-head | - jruby-head | ||
- rbx | - rbx | ||
- ree | |||
- ruby-head | |||
matrix: | matrix: | ||
allow_failures: | allow_failures: | ||
- rvm: jruby-head | - rvm: jruby-head | ||
- rvm: ruby-head | - rvm: ruby-head | ||
fast_finish: true | fast_finish: true | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1 @@ | |||
master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,20 @@ | |||
#!/bin/bash | |||
# This file was generated on 2014-01-25T09:32:04-08:00 from the rspec-dev repo. | |||
# DO NOT modify it by hand as your changes will get lost the next time it is generated. | |||
|
|||
set -e -x | |||
source script/functions.sh | |||
|
|||
if is_mri; then | |||
pushd .. | |||
|
|||
clone_repo "rspec" | |||
clone_repo "rspec-core" | |||
clone_repo "rspec-expectations" | |||
clone_repo "rspec-mocks" | |||
clone_repo "rspec-support" | |||
|
|||
popd | |||
else | |||
echo "Not cloning all repos since we are not on MRI and they are only needed for the MRI build" | |||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,114 @@ | |||
# This file was generated on 2014-01-25T09:32:04-08:00 from the rspec-dev repo. | |||
# DO NOT modify it by hand as your changes will get lost the next time it is generated. | |||
|
|||
# idea taken from: http://blog.headius.com/2010/03/jruby-startup-time-tips.html | |||
export JRUBY_OPTS='-X-C' # disable JIT since these processes are so short lived | |||
SPECS_HAVE_RUN_FILE=specs.out | |||
MAINTENANCE_BRANCH=`cat maintenance-branch` | |||
BUNDLE_INSTALL_FLAGS=`cat .travis.yml | grep bundler_args | tr -d '"' | grep -o " .*"` | |||
|
|||
# Taken from: | |||
# https://github.com/travis-ci/travis-build/blob/e9314616e182a23e6a280199cd9070bfc7cae548/lib/travis/build/script/templates/header.sh#L34-L53 | |||
travis_retry() { | |||
local result=0 | |||
local count=1 | |||
while [ $count -le 3 ]; do | |||
[ $result -ne 0 ] && { | |||
echo -e "\n\033[33;1mThe command \"$@\" failed. Retrying, $count of 3.\033[0m\n" >&2 | |||
} | |||
"$@" | |||
result=$? | |||
[ $result -eq 0 ] && break | |||
count=$(($count + 1)) | |||
sleep 1 | |||
done | |||
|
|||
[ $count -eq 3 ] && { | |||
echo "\n\033[33;1mThe command \"$@\" failed 3 times.\033[0m\n" >&2 | |||
} | |||
|
|||
return $result | |||
} | |||
|
|||
function is_mri { | |||
if ruby -e "exit(!defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby')"; then | |||
# RUBY_ENGINE only returns 'ruby' on MRI. | |||
# MRI 1.8.7 lacks the constant but all other rubies have it (including JRuby in 1.8 mode) | |||
return 0 | |||
else | |||
return 1 | |||
fi; | |||
} | |||
|
|||
function is_mri_192 { | |||
if is_mri; then | |||
if ruby -e "exit(RUBY_VERSION == '1.9.2')"; then | |||
return 0 | |||
else | |||
return 1 | |||
fi | |||
else | |||
return 1 | |||
fi | |||
} | |||
|
|||
function clone_repo { | |||
if [ ! -d $1 ]; then # don't clone if the dir is already there | |||
travis_retry git clone git://github.com/rspec/$1 --depth 1 --branch $MAINTENANCE_BRANCH | |||
fi; | |||
} | |||
|
|||
function run_specs_and_record_done { | |||
local rspec_bin=bin/rspec | |||
|
|||
# rspec-core needs to run with a special script that loads simplecov first, | |||
# so that it can instrument rspec-core's code before rspec-core has been loaded. | |||
if [ -f script/rspec_with_simplecov ]; then | |||
rspec_bin=script/rspec_with_simplecov | |||
fi; | |||
|
|||
$rspec_bin spec --backtrace --format progress --profile --format progress --out $SPECS_HAVE_RUN_FILE | |||
} | |||
|
|||
function run_cukes { | |||
if [ -d features ]; then | |||
# force jRuby to use client mode JVM or a compilation mode thats as close as possible, | |||
# idea taken from https://github.com/jruby/jruby/wiki/Improving-startup-time | |||
# | |||
# Note that we delay setting this until we run the cukes because we've seen | |||
# spec failures in our spec suite due to problems with this mode. | |||
export JAVA_OPTS='-client -XX:+TieredCompilation -XX:TieredStopAtLevel=1' | |||
|
|||
if is_mri_192; then | |||
# For some reason we get SystemStackError on 1.9.2 when using | |||
# the bin/cucumber approach below. That approach is faster | |||
# (as it avoids the bundler tax), so we use it on rubies where we can. | |||
bundle exec cucumber --strict | |||
else | |||
# Prepare RUBYOPT for scenarios that are shelling out to ruby, | |||
# and PATH for those that are using `rspec` or `rake`. | |||
RUBYOPT="-I${PWD}/../bundle -rbundler/setup" \ | |||
PATH="${PWD}/bin:$PATH" \ | |||
bin/cucumber --strict | |||
fi | |||
fi | |||
} | |||
|
|||
function run_specs_one_by_one { | |||
for file in `find spec -iname '*_spec.rb'`; do | |||
bin/rspec $file -b --format progress | |||
done | |||
} | |||
|
|||
function run_spec_suite_for { | |||
if [ ! -f ../$1/$SPECS_HAVE_RUN_FILE ]; then # don't rerun specs that have already run | |||
pushd ../$1 | |||
echo | |||
echo "Running specs for $1" | |||
echo | |||
unset BUNDLE_GEMFILE | |||
travis_retry bundle install $BUNDLE_INSTALL_FLAGS | |||
run_specs_and_record_done | |||
popd | |||
fi; | |||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,19 @@ | |||
#!/bin/bash | |||
# This file was generated on 2014-01-25T09:32:04-08:00 from the rspec-dev repo. | |||
# DO NOT modify it by hand as your changes will get lost the next time it is generated. | |||
|
|||
set -e -x | |||
source script/functions.sh | |||
|
|||
run_specs_and_record_done | |||
run_cukes | |||
|
|||
if is_mri; then | |||
run_specs_one_by_one | |||
run_spec_suite_for "rspec-core" | |||
run_spec_suite_for "rspec-expectations" | |||
run_spec_suite_for "rspec-mocks" | |||
run_spec_suite_for "rspec-support" | |||
else | |||
echo "Skipping the rest of the build on non-MRI rubies" | |||
fi |
This file was deleted.
Oops, something went wrong.