sprockets
sprockets copied to clipboard
sprocket-context cause test to fails only on CircleCI
Sprocket cause test to randomly fails on CircleCI
Expected behavior
I expected the test to pass grancefully
Actual behavior
My test randomly fails time to time on CircleCI (Sometime it pass but I have to rebuild for 4-5 time). And most of time it is occur in the one of request spec(same error but occur in different test file) The same test(Rspec) suite alway pass on local machine but randomly fails on Circleci and this is full trance:
Failure/Error: options[:sprockets][:context]
ActionView::Template::Error:
undefined method `[]' for nil:NilClass
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_processor.rb:299:in `sprockets_context'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_processor.rb:145:in `asset_path'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_processor.rb:158:in `asset_url'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_processor.rb:176:in `image_url'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/funcall.rb:155:in `block in _perform'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:108:in `block in with_function'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:135:in `with_frame'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:108:in `with_function'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/funcall.rb:153:in `_perform'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/node.rb:50:in `perform'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/list_literal.rb:75:in `block in _perform'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/list_literal.rb:75:in `map'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/list_literal.rb:75:in `_perform'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/script/tree/node.rb:50:in `perform'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:402:in `visit_prop'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:36:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:162:in `block in visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:79:in `block in with_base'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:135:in `with_frame'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:79:in `with_base'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:162:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:444:in `block (2 levels) in visit_rule'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:444:in `map'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:444:in `block in visit_rule'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:183:in `with_environment'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:442:in `visit_rule'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:36:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:162:in `block in visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:79:in `block in with_base'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:135:in `with_frame'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/stack.rb:79:in `with_base'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:162:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:52:in `map'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:52:in `visit_children'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:171:in `block in visit_children'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:183:in `with_environment'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:170:in `visit_children'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:36:in `block in visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:190:in `visit_root'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/base.rb:36:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:161:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/visitors/perform.rb:10:in `visit'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/root_node.rb:36:in `css_tree'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/tree/root_node.rb:29:in `render_with_sourcemap'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/engine.rb:389:in `_render_with_sourcemap'
# /usr/local/bundle/gems/sass-3.5.3/lib/sass/engine.rb:307:in `render_with_sourcemap'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_compressor.rb:53:in `call'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_compressor.rb:30:in `call'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/processor_utils.rb:84:in `call_processor'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/processor_utils.rb:65:in `reverse_each'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/processor_utils.rb:65:in `call_processors'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/loader.rb:144:in `load_from_unloaded'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/loader.rb:59:in `block in load'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/loader.rb:318:in `fetch_asset_from_dependency_cache'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/loader.rb:43:in `load'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/cached_environment.rb:44:in `load'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/base.rb:69:in `find_asset'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/base.rb:76:in `find_all_linked_assets'
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/promise.rb:531:in `block in realize'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
# /usr/local/bundle/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `[]' for nil:NilClass
# /usr/local/bundle/gems/sprockets-4.0.0.beta5/lib/sprockets/sass_processor.rb:299:in `sprockets_context'
System configuration
- sprockets-4.0.0.beta5
- Docker
- ruby:2.4.2-alpine3.6 (with docker)
- Circleci
- Rspec
Same here sprockets-4.0.0.beta7
Make sure you are using beta 7.
Can you give me an example app that reproduces the problem? Does the issue ever happen outside of CircleCI?
@schneems Hi, yeah, it's beta7. For now i have large app (large AA stack + little frontend UI). Rail 5.1.6, Ruby 2.5.1 Maybe i can debug it from CLI? To detect the problem source.
@schneems Yeah, it is CircleCI only.
Failures:
1) LayoutHelperTest rendered page contains both base and application layouts
Failure/Error: options[:sprockets][:context]
ActionView::Template::Error:
undefined method `[]' for nil:NilClass
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:299:in `sprockets_context'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:145:in `asset_path'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:158:in `asset_url'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:230:in `font_url'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/script/tree/funcall.rb:155:in `block in _perform'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:108:in `block in with_function'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:135:in `with_frame'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:108:in `with_function'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/script/tree/funcall.rb:153:in `_perform'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/script/tree/node.rb:50:in `perform'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:402:in `visit_prop'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:36:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:162:in `block in visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:79:in `block in with_base'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:135:in `with_frame'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:79:in `with_base'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:162:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:517:in `block (2 levels) in visit_directive'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:517:in `map'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:517:in `block in visit_directive'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:183:in `with_environment'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:516:in `visit_directive'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:36:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:162:in `block in visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:79:in `block in with_base'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:135:in `with_frame'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/stack.rb:79:in `with_base'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:162:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:52:in `map'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:52:in `visit_children'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:171:in `block in visit_children'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:183:in `with_environment'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:170:in `visit_children'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:36:in `block in visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:190:in `visit_root'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/base.rb:36:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:161:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/visitors/perform.rb:10:in `visit'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/root_node.rb:36:in `css_tree'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/tree/root_node.rb:29:in `render_with_sourcemap'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/engine.rb:389:in `_render_with_sourcemap'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sass-3.5.6/lib/sass/engine.rb:307:in `render_with_sourcemap'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_compressor.rb:53:in `call'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_compressor.rb:30:in `call'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/processor_utils.rb:84:in `call_processor'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/processor_utils.rb:65:in `reverse_each'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/processor_utils.rb:65:in `call_processors'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/loader.rb:145:in `load_from_unloaded'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/loader.rb:59:in `block in load'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/loader.rb:329:in `fetch_asset_from_dependency_cache'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/loader.rb:43:in `load'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/cached_environment.rb:44:in `load'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/base.rb:81:in `find_asset'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/base.rb:88:in `find_all_linked_assets'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/promise.rb:531:in `block in realize'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
#
# Showing full backtrace because every line was filtered out.
# See docs for RSpec::Configuration#backtrace_exclusion_patterns and
# RSpec::Configuration#backtrace_inclusion_patterns for more information.
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `[]' for nil:NilClass
# /home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:299:in `sprockets_context'
It's going from:
"open-sans-v15-cyrillic-ext_latin-regular.eot"
"open-sans-v15-cyrillic-ext_latin-regular.eot?#iefix"
"open-sans-v15-cyrillic-ext_latin-regular.woff2"
"open-sans-v15-cyrillic-ext_latin-regular.woff"
"open-sans-v15-cyrillic-ext_latin-regular.ttf"
"open-sans-v15-cyrillic-ext_latin-regular.svg#OpenSans"
"intro_bg.jpg"
rake aborted!
NoMethodError: undefined method `[]' for nil:NilClass
/home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:299:in `sprockets_context'
/home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:145:in `asset_path'
/home/circleci/repo/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta7/lib/sprockets/sass_processor.rb:158:in `asset_url'
/home/circleci/repo/lib/gem_ext/sprockets_debug.rb:16:in `font_url'
Same error in beta8 and during heroku deploy:
remote: rake aborted!
remote: NoMethodError: undefined method []' for nil:NilClass remote: /tmp/build_d7f7eddb626853cdf6680b071a9f98c7/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta8/lib/sprockets/sass_processor.rb:299:in sprockets_context'
remote: /tmp/build_d7f7eddb626853cdf6680b071a9f98c7/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta8/lib/sprockets/sass_processor.rb:145:in asset_path' remote: /tmp/build_d7f7eddb626853cdf6680b071a9f98c7/vendor/bundle/ruby/2.5.0/gems/sprockets-4.0.0.beta8/lib/sprockets/sass_processor.rb:221:in font_path'
remote: /tmp/build_d7f7eddb626853cdf6680b071a9f98c7/vendor/bundle/ruby/2.5.0/gems/sass-3.5.1/lib/sass/script/tree/funcall.rb:155:in `block in _perform'
I think for now we need catch this error manually and rerun precompile.
My solution:
#!/usr/bin/env bash
message=$(rake assets:precompile 2>&1)
if [[ ${message} == *"undefined method \`[]' for nil:NilClass"* ]]; then
./precompile.sh
else
echo ${message}
fi
exit 0