Skip to content

Commit

Permalink
Merge pull request #492 from airbrake/circle-parallelism-6x
Browse files Browse the repository at this point in the history
circle.yml: add 1.9.2 and run more tests on JRuby
  • Loading branch information
kyrylo committed Jan 25, 2016
2 parents 1019c9e + f9914fd commit b1e6909
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 69 deletions.
90 changes: 40 additions & 50 deletions Appraisals
Expand Up @@ -11,34 +11,30 @@ appraise 'rails-3.2' do
gem 'delayed_job_active_record', '~> 4.1.0'
end

unless RUBY_ENGINE == 'jruby'
appraise 'rails-4.0' do
gem 'rails', '~> 4.0.13'
gem 'warden', '~> 1.2.3'
appraise 'rails-4.0' do
gem 'rails', '~> 4.0.13'
gem 'warden', '~> 1.2.3'

gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.18', platforms: :jruby
gem 'sqlite3', '~> 1.3.11', platforms: [:mri, :rbx]
gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.18', platforms: :jruby
gem 'sqlite3', '~> 1.3.11', platforms: [:mri, :rbx]

gem 'resque', '~> 1.25.2'
gem 'resque_spec', git: 'git@github.com:kyrylo/resque_spec.git'
gem 'resque', '~> 1.25.2'
gem 'resque_spec', git: 'git@github.com:kyrylo/resque_spec.git'

gem 'delayed_job_active_record', '~> 4.1.0'
end
gem 'delayed_job_active_record', '~> 4.1.0'
end

unless RUBY_ENGINE == 'jruby'
appraise 'rails-4.1' do
gem 'rails', '~> 4.1.13'
gem 'warden', '~> 1.2.3'
appraise 'rails-4.1' do
gem 'rails', '~> 4.1.13'
gem 'warden', '~> 1.2.3'

gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.18', platforms: :jruby
gem 'sqlite3', '~> 1.3.11', platforms: [:mri, :rbx]
gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.18', platforms: :jruby
gem 'sqlite3', '~> 1.3.11', platforms: [:mri, :rbx]

gem 'resque', '~> 1.25.2'
gem 'resque_spec', git: 'git@github.com:kyrylo/resque_spec.git'
gem 'resque', '~> 1.25.2'
gem 'resque_spec', git: 'git@github.com:kyrylo/resque_spec.git'

gem 'delayed_job_active_record', '~> 4.1.0'
end
gem 'delayed_job_active_record', '~> 4.1.0'
end

appraise 'rails-4.2' do
Expand All @@ -54,39 +50,33 @@ appraise 'rails-4.2' do
gem 'delayed_job_active_record', '~> 4.1.0'
end

unless RUBY_ENGINE == 'jruby'
# Rails 5+ supports only Ruby 2.1+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.0')
appraise 'rails-edge' do
gem 'rails', github: 'rails/rails'
gem 'arel', github: 'rails/arel'
gem 'rack', github: 'rack/rack'
gem 'warden', '~> 1.2.3'

gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.18', platforms: :jruby
gem 'sqlite3', '~> 1.3.11', platforms: [:mri, :rbx]

gem 'resque', '~> 1.25.2'
# A temporary fork of https://github.com/leshill/resque_spec with
# https://github.com/leshill/resque_spec/pull/88 merged in. This allows us
# to test our Resque integration.
gem 'resque_spec', git: 'git@github.com:kyrylo/resque_spec.git'

gem 'delayed_job_active_record', '~> 4.1.0'
end
# Rails 5+ supports only Ruby 2.1+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.0')
appraise 'rails-edge' do
gem 'rails', github: 'rails/rails'
gem 'arel', github: 'rails/arel'
gem 'rack', github: 'rack/rack'
gem 'warden', '~> 1.2.3'

gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.18', platforms: :jruby
gem 'sqlite3', '~> 1.3.11', platforms: [:mri, :rbx]

gem 'resque', '~> 1.25.2'
# A temporary fork of https://github.com/leshill/resque_spec with
# https://github.com/leshill/resque_spec/pull/88 merged in. This allows us
# to test our Resque integration.
gem 'resque_spec', git: 'git@github.com:kyrylo/resque_spec.git'

gem 'delayed_job_active_record', '~> 4.1.0'
end
end

unless RUBY_ENGINE == 'jruby'
appraise 'sinatra' do
gem 'sinatra', '~> 1.4.6'
gem 'rack-test', '~> 0.6.3'
gem 'warden', '~> 1.2.3'
end
appraise 'sinatra' do
gem 'sinatra', '~> 1.4.6'
gem 'rack-test', '~> 0.6.3'
gem 'warden', '~> 1.2.3'
end

unless RUBY_ENGINE == 'jruby'
appraise 'rack' do
gem 'warden', '~> 1.2.3'
end
appraise 'rack' do
gem 'warden', '~> 1.2.3'
end
49 changes: 41 additions & 8 deletions circle.yml
Expand Up @@ -14,14 +14,26 @@ dependencies:
rvm-exec 1.9.3-p551 bundle exec appraisal install --jobs=15
;;
1)
rvm-exec 2.0.0-p645 bundle install --jobs=15 --path=vendor
rvm-exec 2.0.0-p645 bundle exec appraisal install --jobs=15
;;
2)
rvm-exec 2.3.0 bundle install --jobs=15 --path=vendor
rvm-exec 2.3.0 bundle exec appraisal install --jobs=15
;;
2)
3)
# The 'dev' switch makes JRuby start about 2.5 times faster.
# See: https://github.com/jruby/jruby/wiki/Improving-startup-time
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-1.7.19 bundle install --jobs=15 --path=vendor
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-1.7.19 bundle exec appraisal install --jobs=15
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle install --jobs=15 --path=vendor
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal install --jobs=15
;;
4)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle install --jobs=15 --path=vendor
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal install --jobs=15
;;
5)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle install --jobs=15 --path=vendor
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal install --jobs=15
;;
esac
:
Expand All @@ -43,6 +55,16 @@ test:
rvm-exec 1.9.3-p551 bundle exec appraisal rack rake spec:integration:rack
;;
1)
rvm-exec 2.0.0-p645 bundle exec appraisal rails-3.2 rake spec:integration:rails
rvm-exec 2.0.0-p645 bundle exec appraisal rails-4.0 rake spec:integration:rails
rvm-exec 2.0.0-p645 bundle exec appraisal rails-4.1 rake spec:integration:rails
rvm-exec 2.0.0-p645 bundle exec appraisal rails-4.2 rake spec:integration:rails

rvm-exec 2.0.0-p645 bundle exec appraisal sinatra rake spec:integration:sinatra

rvm-exec 2.0.0-p645 bundle exec appraisal rack rake spec:integration:rack
;;
2)
rvm-exec 2.3.0 bundle exec appraisal rails-3.2 rake spec:integration:rails
rvm-exec 2.3.0 bundle exec appraisal rails-4.0 rake spec:integration:rails
rvm-exec 2.3.0 bundle exec appraisal rails-4.1 rake spec:integration:rails
Expand All @@ -53,9 +75,17 @@ test:

rvm-exec 2.3.0 bundle exec appraisal rack rake spec:integration:rack
;;
2)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-1.7.19 bundle exec appraisal rails-3.2 rake spec:integration:rails
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-1.7.19 bundle exec appraisal rails-4.2 rake spec:integration:rails
3)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal rails-3.2 rake spec:integration:rails
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal rails-4.0 rake spec:integration:rails
;;
4)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal rails-4.1 rake spec:integration:rails
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal rails-4.2 rake spec:integration:rails
;;
5)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal sinatra rake spec:integration:sinatra
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec appraisal rack rake spec:integration:rack
;;
esac
:
Expand All @@ -67,10 +97,13 @@ test:
rvm-exec 1.9.3-p551 bundle exec rake spec:unit
;;
1)
rvm-exec 2.3.0 bundle exec rake spec:unit
rvm-exec 2.0.0-p645 bundle exec rake spec:unit
;;
2)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-1.7.19 bundle exec rake spec:unit
rvm-exec 2.3.0 bundle exec rake spec:unit
;;
3)
JRUBY_OPTS="--dev -Xcompile.invokedynamic=false -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-noverify -Xcompile.mode=OFF" rvm-exec jruby-9.0.4.0 bundle exec rake spec:unit
;;
esac
:
Expand Down
25 changes: 14 additions & 11 deletions spec/integration/rails/rails_spec.rb
Expand Up @@ -115,21 +115,24 @@
end
end

describe "DelayedJob jobs" do
it "reports exceptions occurring in DelayedJob jobs" do
get '/delayed_job'
sleep 2
# Delayed Job doesn't support Ruby 1.9.2
if Gem::Version.new(RUBY_VERSION) > Gem::Version.new('1.9.2')
describe "DelayedJob jobs" do
it "reports exceptions occurring in DelayedJob jobs" do
get '/delayed_job'
sleep 2

wait_for_a_request_with_body(
%r("message":"delayed_job\serror".*"params":{.*
wait_for_a_request_with_body(
%r("message":"delayed_job\serror".*"params":{.*
"handler":"---\s!ruby/struct:BangoJob\\nbingo:\s
bingo\\nbongo:\sbongo\\n".*})x
)
)

# Two requests are performed during this example. We care only about one.
# Sleep guarantees that we let the unimportant request occur here and not
# elsewhere.
sleep 2
# Two requests are performed during this example. We care only about one.
# Sleep guarantees that we let the unimportant request occur here and not
# elsewhere.
sleep 2
end
end
end

Expand Down

0 comments on commit b1e6909

Please sign in to comment.