Update asciidoc dependencies for Ruby 3
What does this MR do?
To enable GitLab to run on Ruby 3, we need to update a number of dependencies. Most of those are due to deprecations that would now break, such as keyword arguments. In this case, it should resolve https://gitlab.com/gitlab-org/gitlab/-/jobs/1401110409/artifacts/file/deprecations/lib/gitlab/asciidoc.yml
This MR updates asciidoctor
and related dependencies:
-
asciidoctor
2.0.15 (was: 2.0.12) -
asciidoctor-kroki
0.5.0 (was: 0.3.0)
I also dropped a monkey patch that according to the code comment is not necessary anymore, since the problem was fixed upstream.
Screenshots or Screencasts (strongly suggested)
Before:
$ bin/spring rspec spec/lib/gitlab/asciidoc_spec.rb
...
1) Gitlab::Asciidoc without project with Kroki enabled converts a graphviz diagram to image
Failure/Error: raise RaiseDisallowedDeprecation.new(test, current_deprecations)
DeprecationToolkitEnv::DeprecationBehaviors::SelectiveRaise::RaiseDisallowedDeprecation:
Disallowed deprecations detected while running test #<RSpec::Core::Example "converts a graphviz diagram to image">:
DEPRECATION WARNING: /data/cache/bundle-2.7.2/ruby/2.7.0/gems/asciidoctor-2.0.15/lib/asciidoctor/extensions.rb:1398: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/data/cache/bundle-2.7.2/ruby/2.7.0/gems/asciidoctor-kroki-0.4.0/lib/asciidoctor/extensions/asciidoctor_kroki/extension.rb:22: warning: The called method `initialize' is defined here
(called from block (2 levels) in render at /home/git/gitlab/lib/gitlab/asciidoc.rb:60)
After:
bin/spring rspec spec/lib/gitlab/asciidoc_spec.rb
...
Finished in 23.91 seconds (files took 1.52 seconds to load)
65 examples, 0 failures
Does this MR meet the acceptance criteria?
Conformity
-
I have included changelog trailers, or none are needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) -
I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides. -
This change is backwards compatible across updates, or this does not apply.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have tested this MR in all supported browsers, or it's not needed. -
I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
Related to #328031 (closed)
Edited by Matthias Käppler