mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-22 22:06:50 +00:00
Fix CI on 0-10-stable (#2181)
* Loosen pry, pry-byebug depencency ``` Resolving dependencies... byebug-9.1.0 requires ruby version >= 2.2.0, which is incompatible with the current version, ruby 2.1.10p492 ``` * Adjust nokogiri version constraint for CI Update appveyor Ruby to 2.3 to work around: ``` Gem::InstallError: nokogiri requires Ruby version < 2.5, >= 2.2. An error occurred while installing nokogiri (1.8.0), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.8.0'` succeeds before bundling. ``` and not 2.4 since: https://ci.appveyor.com/project/bf4/active-model-serializers/build/1.0.1052-fix_ci/job/0q3itabsnvnxr83u ``` nokogiri-1.6.8.1-x86-mingw32 requires ruby version < 2.4, which is incompatible with the current version, ruby 2.4.1p111 ``` * Include rails gem in Gemfile (For Rails5) In Rails5, checking for Rails::Railtie is better * Rails5 test env requires Rails.application.class.name rails-42d09f6b49da/railties/lib/rails/application.rb ```ruby def secret_key_base if Rails.env.test? || Rails.env.development? Digest::MD5.hexdigest self.class.name ``` * Reformat exclude matrix to be easier to read * Simplify jruby-travis config per rails/rails * Organize .travis.yml per rails/rails * Allow JRuby failure on Rails 5+; try rails-5 db adapter branch https://github.com/jruby/activerecord-jdbc-adapter/issues/708 ``` uninitialized constant ActiveRecord::ConnectionAdapters::Column::Format ``` see https://travis-ci.org/rails-api/active_model_serializers/jobs/277112008
This commit is contained in:
parent
c2fa01624d
commit
6a7d864605
54
.travis.yml
54
.travis.yml
@ -1,55 +1,47 @@
|
|||||||
language: ruby
|
language: ruby
|
||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
rvm:
|
|
||||||
- 2.1
|
|
||||||
- 2.2.6
|
|
||||||
- 2.3.3
|
|
||||||
- ruby-head
|
|
||||||
- jruby-9.1.5.0 # is precompiled per http://rubies.travis-ci.org/
|
|
||||||
- jruby-head
|
|
||||||
|
|
||||||
jdk:
|
|
||||||
- oraclejdk8
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- gem update --system
|
|
||||||
- rvm @global do gem uninstall bundler -a -x
|
|
||||||
- rvm @global do gem install bundler -v 1.13.7
|
|
||||||
install: bundle install --path=vendor/bundle --retry=3 --jobs=3
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- vendor/bundle
|
- vendor/bundle
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- "travis_retry gem update --system"
|
||||||
|
- "travis_retry gem update bundler"
|
||||||
|
install: bundle install --path=vendor/bundle --retry=3 --jobs=3
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- bundle exec rake ci
|
- bundle exec rake ci
|
||||||
after_success:
|
after_success:
|
||||||
- codeclimate-test-reporter
|
- codeclimate-test-reporter
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
|
||||||
- "JRUBY_OPTS='--dev -J-Xmx1024M --debug'"
|
|
||||||
matrix:
|
matrix:
|
||||||
- "RAILS_VERSION=4.1"
|
- "RAILS_VERSION=4.1"
|
||||||
- "RAILS_VERSION=4.2"
|
- "RAILS_VERSION=4.2"
|
||||||
- "RAILS_VERSION=5.0"
|
- "RAILS_VERSION=5.0"
|
||||||
- "RAILS_VERSION=master"
|
- "RAILS_VERSION=master"
|
||||||
|
|
||||||
|
rvm:
|
||||||
|
- 2.1
|
||||||
|
- 2.2.6
|
||||||
|
- 2.3.3
|
||||||
|
- ruby-head
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
|
include:
|
||||||
|
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
|
||||||
|
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
|
||||||
|
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
|
||||||
|
# See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708
|
||||||
|
# - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
|
||||||
|
# - { rvm: jruby-head, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
|
||||||
exclude:
|
exclude:
|
||||||
- rvm: 2.1
|
- { rvm: 2.1, env: RAILS_VERSION=master }
|
||||||
env: RAILS_VERSION=master
|
- { rvm: 2.1, env: RAILS_VERSION=5.0 }
|
||||||
- rvm: jruby-9.1.5.0
|
|
||||||
env: RAILS_VERSION=master
|
|
||||||
- rvm: jruby-head
|
|
||||||
env: RAILS_VERSION=master
|
|
||||||
- rvm: 2.1
|
|
||||||
env: RAILS_VERSION=5.0
|
|
||||||
- rvm: jruby-9.1.5.0
|
|
||||||
env: RAILS_VERSION=5.0
|
|
||||||
- rvm: jruby-head
|
|
||||||
env: RAILS_VERSION=5.0
|
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- rvm: ruby-head
|
- rvm: ruby-head
|
||||||
- rvm: jruby-head
|
- rvm: jruby-head
|
||||||
|
# See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708
|
||||||
|
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
|||||||
22
Gemfile
22
Gemfile
@ -12,6 +12,7 @@ version = ENV['RAILS_VERSION'] || '4.2'
|
|||||||
if version == 'master'
|
if version == 'master'
|
||||||
gem 'rack', github: 'rack/rack'
|
gem 'rack', github: 'rack/rack'
|
||||||
gem 'arel', github: 'rails/arel'
|
gem 'arel', github: 'rails/arel'
|
||||||
|
gem 'rails', github: 'rails/rails'
|
||||||
git 'https://github.com/rails/rails.git' do
|
git 'https://github.com/rails/rails.git' do
|
||||||
gem 'railties'
|
gem 'railties'
|
||||||
gem 'activesupport'
|
gem 'activesupport'
|
||||||
@ -23,6 +24,7 @@ if version == 'master'
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
gem_version = "~> #{version}.0"
|
gem_version = "~> #{version}.0"
|
||||||
|
gem 'rails', gem_version
|
||||||
gem 'railties', gem_version
|
gem 'railties', gem_version
|
||||||
gem 'activesupport', gem_version
|
gem 'activesupport', gem_version
|
||||||
gem 'activemodel', gem_version
|
gem 'activemodel', gem_version
|
||||||
@ -36,6 +38,13 @@ end
|
|||||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||||
gem 'tzinfo-data', platforms: (@windows_platforms + [:jruby])
|
gem 'tzinfo-data', platforms: (@windows_platforms + [:jruby])
|
||||||
|
|
||||||
|
if ENV['CI']
|
||||||
|
if RUBY_VERSION < '2.4'
|
||||||
|
# Windows: An error occurred while installing nokogiri (1.8.0)
|
||||||
|
gem 'nokogiri', '< 1.7', platforms: @windows_platforms
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
group :bench do
|
group :bench do
|
||||||
# https://github.com/rails-api/active_model_serializers/commit/cb4459580a6f4f37f629bf3185a5224c8624ca76
|
# https://github.com/rails-api/active_model_serializers/commit/cb4459580a6f4f37f629bf3185a5224c8624ca76
|
||||||
gem 'benchmark-ips', '>= 2.7.2', require: false, group: :development
|
gem 'benchmark-ips', '>= 2.7.2', require: false, group: :development
|
||||||
@ -43,11 +52,18 @@ end
|
|||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem 'sqlite3', platform: (@windows_platforms + [:ruby])
|
gem 'sqlite3', platform: (@windows_platforms + [:ruby])
|
||||||
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
|
platforms :jruby do
|
||||||
|
if version == 'master' || version >= '5'
|
||||||
|
gem 'activerecord-jdbcsqlite3-adapter', github: 'jruby/activerecord-jdbc-adapter', branch: 'rails-5'
|
||||||
|
else
|
||||||
|
gem 'activerecord-jdbcsqlite3-adapter'
|
||||||
|
end
|
||||||
|
end
|
||||||
gem 'codeclimate-test-reporter', require: false
|
gem 'codeclimate-test-reporter', require: false
|
||||||
gem 'm', '~> 1.5'
|
gem 'm', '~> 1.5'
|
||||||
gem 'pry', '~> 0.10'
|
gem 'pry', '>= 0.10'
|
||||||
gem 'pry-byebug', '~> 3.4', platform: :ruby
|
gem 'byebug', '~> 8.2' if RUBY_VERSION < '2.2'
|
||||||
|
gem 'pry-byebug', platform: :ruby
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
|
|||||||
@ -5,8 +5,8 @@ skip_tags: true
|
|||||||
environment:
|
environment:
|
||||||
JRUBY_OPTS: "--dev -J-Xmx1024M --debug"
|
JRUBY_OPTS: "--dev -J-Xmx1024M --debug"
|
||||||
matrix:
|
matrix:
|
||||||
- ruby_version: "Ruby21"
|
- ruby_version: "Ruby23"
|
||||||
- ruby_version: "Ruby21-x64"
|
- ruby_version: "Ruby23-x64"
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- vendor/bundle
|
- vendor/bundle
|
||||||
|
|||||||
@ -49,5 +49,5 @@ module ActiveModelSerializers
|
|||||||
require 'active_model/serializer/version'
|
require 'active_model/serializer/version'
|
||||||
require 'active_model/serializer'
|
require 'active_model/serializer'
|
||||||
require 'active_model/serializable_resource'
|
require 'active_model/serializable_resource'
|
||||||
require 'active_model_serializers/railtie' if defined?(::Rails)
|
require 'active_model_serializers/railtie' if defined?(::Rails::Railtie)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -54,7 +54,7 @@ module TestHelpers
|
|||||||
require 'rails'
|
require 'rails'
|
||||||
require 'action_controller/railtie'
|
require 'action_controller/railtie'
|
||||||
|
|
||||||
@app = Class.new(Rails::Application) do
|
app = Class.new(Rails::Application) do
|
||||||
config.eager_load = false
|
config.eager_load = false
|
||||||
config.session_store :cookie_store, key: '_myapp_session'
|
config.session_store :cookie_store, key: '_myapp_session'
|
||||||
config.active_support.deprecation = :log
|
config.active_support.deprecation = :log
|
||||||
@ -67,8 +67,10 @@ module TestHelpers
|
|||||||
config.logger = fake_logger
|
config.logger = fake_logger
|
||||||
Rails.application.routes.default_url_options = { host: 'example.com' }
|
Rails.application.routes.default_url_options = { host: 'example.com' }
|
||||||
end
|
end
|
||||||
@app.respond_to?(:secrets) && @app.secrets.secret_key_base = '3b7cd727ee24e8444053437c36cc66c4'
|
def app.name; 'IsolatedRailsApp'; end # rubocop:disable Style/SingleLineMethods
|
||||||
|
app.respond_to?(:secrets) && app.secrets.secret_key_base = '3b7cd727ee24e8444053437c36cc66c4'
|
||||||
|
|
||||||
|
@app = app
|
||||||
yield @app if block_given?
|
yield @app if block_given?
|
||||||
@app.initialize!
|
@app.initialize!
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user