Add the bug report templates to the Travis CI build
The bug report templates are now executed from the `ci/travis.rb` when `GEM` contains `guides`. I started by creating a `test` task in `guides/Rakefile` to handle this, but since inline `gemfile` must not be executed with `bundle exec`, that rake task would not be consistent with others. So I went back by executing them directly from `Build`. Use inline Gemfile dependency when reporting gem bugs
This commit is contained in:
parent
423f14183f
commit
89550bc1a0
|
@ -19,6 +19,7 @@ env:
|
|||
- "GEM=ar:sqlite3"
|
||||
- "GEM=ar:postgresql"
|
||||
- "GEM=aj:integration"
|
||||
- "GEM=guides"
|
||||
rvm:
|
||||
- 2.2.2
|
||||
- ruby-head
|
||||
|
|
32
ci/travis.rb
32
ci/travis.rb
|
@ -16,13 +16,14 @@ end
|
|||
class Build
|
||||
MAP = {
|
||||
'railties' => 'railties',
|
||||
'ap' => 'actionpack',
|
||||
'am' => 'actionmailer',
|
||||
'amo' => 'activemodel',
|
||||
'as' => 'activesupport',
|
||||
'ar' => 'activerecord',
|
||||
'av' => 'actionview',
|
||||
'aj' => 'activejob'
|
||||
'ap' => 'actionpack',
|
||||
'am' => 'actionmailer',
|
||||
'amo' => 'activemodel',
|
||||
'as' => 'activesupport',
|
||||
'ar' => 'activerecord',
|
||||
'av' => 'actionview',
|
||||
'aj' => 'activejob',
|
||||
'guides' => 'guides'
|
||||
}
|
||||
|
||||
attr_reader :component, :options
|
||||
|
@ -36,7 +37,11 @@ class Build
|
|||
self.options.update(options)
|
||||
Dir.chdir(dir) do
|
||||
announce(heading)
|
||||
rake(*tasks)
|
||||
if guides?
|
||||
run_bug_report_templates
|
||||
else
|
||||
rake(*tasks)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -71,6 +76,10 @@ class Build
|
|||
gem == 'activerecord'
|
||||
end
|
||||
|
||||
def guides?
|
||||
gem == 'guides'
|
||||
end
|
||||
|
||||
def isolated?
|
||||
options[:isolated]
|
||||
end
|
||||
|
@ -96,6 +105,12 @@ class Build
|
|||
end
|
||||
true
|
||||
end
|
||||
|
||||
def run_bug_report_templates
|
||||
Dir.glob('bug_report_templates/*.rb').all? do |file|
|
||||
system(Gem.ruby, '-w', file)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if ENV['GEM']=='aj:integration'
|
||||
|
@ -110,6 +125,7 @@ ENV['GEM'].split(',').each do |gem|
|
|||
next if ENV['TRAVIS_PULL_REQUEST'] && ENV['TRAVIS_PULL_REQUEST'] != 'false' && isolated
|
||||
next if gem == 'railties' && isolated
|
||||
next if gem == 'aj:integration' && isolated
|
||||
next if gem == 'guides' && isolated
|
||||
|
||||
build = Build.new(gem, :isolated => isolated)
|
||||
results[build.key] = build.run!
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
# Activate the gem you are reporting the issue against.
|
||||
gem 'rails', '4.2.0'
|
||||
require 'bundler/inline'
|
||||
|
||||
gemfile(true) do
|
||||
source 'https://rubygems.org'
|
||||
# Activate the gem you are reporting the issue against.
|
||||
gem 'rails', '4.2.0'
|
||||
end
|
||||
|
||||
require 'rails'
|
||||
require 'rack/test'
|
||||
require 'action_controller/railtie'
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ gemfile(true) do
|
|||
gem 'arel', github: 'rails/arel'
|
||||
end
|
||||
|
||||
require 'rails'
|
||||
require 'action_controller/railtie'
|
||||
|
||||
class TestApp < Rails::Application
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
# Activate the gem you are reporting the issue against.
|
||||
gem 'activerecord', '4.2.0'
|
||||
require 'bundler/inline'
|
||||
|
||||
gemfile(true) do
|
||||
source 'https://rubygems.org'
|
||||
# Activate the gem you are reporting the issue against.
|
||||
gem 'activerecord', '4.2.0'
|
||||
gem 'sqlite3'
|
||||
end
|
||||
|
||||
require 'active_record'
|
||||
require 'minitest/autorun'
|
||||
require 'logger'
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
# Activate the gems you are reporting the issue against.
|
||||
gem 'activesupport', '4.2.0'
|
||||
require 'active_support'
|
||||
require 'bundler/inline'
|
||||
|
||||
gemfile(true) do
|
||||
source 'https://rubygems.org'
|
||||
# Activate the gem you are reporting the issue against.
|
||||
gem 'activesupport', '4.2.0'
|
||||
end
|
||||
|
||||
require 'active_support/core_ext/object/blank'
|
||||
require 'minitest/autorun'
|
||||
|
||||
|
|
Loading…
Reference in New Issue