cloudfoundry / haproxy-boshrelease

A BOSH release for haproxy (based on cf-release's haproxy job)
Apache License 2.0
38 stars 81 forks source link

ci: install ginkgo in correct version #704

Closed maxmoehl closed 3 months ago

maxmoehl commented 3 months ago

This is much more painful than I expected...

The newer image automatically installed a new Ruby version and now the unit-tests fail with:

Updating files in vendor/cache
The `rake` executable in the `haproxy-tools` gem is being loaded, but it's also present in other gems (rake).
If you meant to run the executable for another gem, make sure you use a project specific binstub (`bundle binstub <gem_name>`).
If you plan to use multiple conflicting executables, generate binstubs for them and disambiguate their names.
The `rake` executable in the `rake` gem is being loaded, but it's also present in other gems (haproxy-tools).
If you meant to run the executable for another gem, make sure you use a project specific binstub (`bundle binstub <gem_name>`).
If you plan to use multiple conflicting executables, generate binstubs for them and disambiguate their names.
rake aborted!
LoadError: cannot load such file -- racc/parser
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/usr/local/bundle/ruby/3.3.0/gems/parser-3.2.2.1/lib/parser.rb:12:in `<top (required)>'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-ast-1.28.1/lib/rubocop/ast.rb:3:in `<top (required)>'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-ast-1.28.1/lib/rubocop-ast.rb:3:in `require_relative'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-ast-1.28.1/lib/rubocop-ast.rb:3:in `<top (required)>'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-1.50.2/lib/rubocop.rb:14:in `<top (required)>'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-1.50.2/lib/rubocop/rake_task.rb:47:in `run_cli'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-1.50.2/lib/rubocop/rake_task.rb:26:in `block (2 levels) in initialize'
/usr/local/bundle/ruby/3.3.0/gems/rubocop-1.50.2/lib/rubocop/rake_task.rb:24:in `block in initialize'
/usr/local/bundle/ruby/3.3.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/cli.rb:492:in `exec'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/cli.rb:28:in `start'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/exe/bundle:45:in `block in <top (required)>'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/bundle/ruby/3.3.0/gems/bundler-2.4.12/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => lint
(See full trace by running task with --trace)

I will push the old image again to allow the tests to run again. We will have to spend some time to understand what is going on.

maxmoehl commented 3 months ago

So I came across ruby/ruby#7877 which seems to be the source of the issue, this triggered rubocop/rubocop#11942 which in turn got released with v1.52.1 so I'm now requiring at least that version.

maxmoehl commented 3 months ago

Finally 🎉