apache / arrow-site

Mirror of Apache Arrow site
Apache License 2.0
31 stars 106 forks source link

[Website] Can't build with latest ruby version "logger.rb:384:in `level': undefined method `[]' for nil (NoMethodError)" #447

Closed alamb closed 6 months ago

alamb commented 6 months ago

When using a docker image to build following https://github.com/apache/arrow-site?tab=readme-ov-file#using-docker

docker run -v `pwd`:/arrow-site -p 4000:4000 -it ruby bash
cd arrow-site
apt-get update
apt-get install -y npm
gem install bundler
bundle install
# Serve using local container address
bundle exec rake HOST=0.0.0.0

jekyll fails to run:

root@2a57a0f41e29:/arrow-site# bundle exec rake HOST=0.0.0.0
jekyll serve --incremental --livereload --host 0.0.0.0
/usr/local/bundle/gems/jekyll-4.2.0/lib/jekyll.rb:28: warning: csv was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add csv to your Gemfile or gemspec. Also contact author of jekyll-4.2.0 to add csv into its gemspec.
/usr/local/bundle/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb:1: warning: base64 was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add base64 to your Gemfile or gemspec. Also contact author of safe_yaml-1.0.5 to add base64 into its gemspec.
/usr/local/bundle/gems/liquid-4.0.4/lib/liquid/standardfilters.rb:2: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec. Also contact author of liquid-4.0.4 to add bigdecimal into its gemspec.
jekyll 4.2.0 | Error:  undefined method `[]' for nil
/usr/local/lib/ruby/3.3.0/logger.rb:384:in `level': undefined method `[]' for nil (NoMethodError)

    @level_override[Fiber.current] || @level
                   ^^^^^^^^^^^^^^^
    from /usr/local/bundle/gems/jekyll-4.2.0/lib/jekyll/log_adapter.rb:45:in `adjust_verbosity'
    from /usr/local/bundle/gems/jekyll-4.2.0/lib/jekyll/configuration.rb:143:in `config_files'
    from /usr/local/bundle/gems/jekyll-4.2.0/lib/jekyll.rb:118:in `configuration'
    from /usr/local/bundle/gems/jekyll-4.2.0/lib/jekyll/command.rb:44:in `configuration_from_options'
    from /usr/local/bundle/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:83:in `block (2 levels) in init_with_program'
    from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
    from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
    from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
    from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
    from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
    from /usr/local/bundle/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
    from /usr/local/bundle/bin/jekyll:25:in `load'
    from /usr/local/bundle/bin/jekyll:25:in `<main>'
rake aborted!
Command failed with status (1): [jekyll serve --incremental --livereload --host 0.0.0.0]
/arrow-site/rakefile:42:in `block in <top (required)>'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/cli.rb:451:in `exec'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/cli.rb:28:in `start'
/usr/local/bundle/gems/bundler-2.5.4/exe/bundle:28:in `block in <top (required)>'
/usr/local/bundle/gems/bundler-2.5.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/bundle/gems/bundler-2.5.4/exe/bundle:20:in `<top (required)>'
/usr/local/bundle/bin/bundle:25:in `load'
/usr/local/bundle/bin/bundle:25:in `<main>'
Tasks: TOP => default => serve
(See full trace by running task with --trace)

workround

If I use an older ruby image from https://hub.docker.com/_/ruby then the site builds fine:

docker run -v `pwd`:/arrow-site -p 4000:4000 -it ruby:3.2.2-slim-bullseye bash
bkmgit commented 6 months ago

Closed by https://github.com/apache/arrow-site/pull/451