Shopify/tapioca

`Tapioca::Dsl::Compilers::Protobuf` failing in 0.13.0

mmenanno opened this issue · 1 comments

On one of my private repos that got the dependabot PR for 0.13.0, CI is failing when it attempts to generate DSLs.

Error:

Error: `Tapioca::Dsl::Compilers::Protobuf` failed to generate RBI for `Google::Protobuf::DescriptorProto`
   identical  sorbet/rbi/dsl/generated_url_helpers_module.rbi
/home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/compilers/protobuf.rb:305:in `create_descriptor_method': undefined method `has_presence?' for an instance of Google::Protobuf::FieldDescriptor (NoMethodError)
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/compilers/protobuf.rb:127:in `block (2 levels) in decorate'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/compilers/protobuf.rb:127:in `each'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/compilers/protobuf.rb:127:in `map'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/compilers/protobuf.rb:127:in `block in decorate'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/rbi_ext/model.rb:40:in `block in create_class'
	from <internal:kernel>:90:in `tap'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/rbi_ext/model.rb:39:in `create_class'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/rbi_ext/model.rb:16:in `create_path'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/compilers/protobuf.rb:83:in `decorate'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/pipeline.rb:180:in `block in rbi_for_constant'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/pipeline.rb:176:in `each'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/pipeline.rb:176:in `rbi_for_constant'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/pipeline.rb:79:in `block in run'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:627:in `call_with_index'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:597:in `process_incoming_jobs'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:577:in `block in worker'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:568:in `fork'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:568:in `worker'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:559:in `block in create_workers'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:558:in `each'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:558:in `each_with_index'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:558:in `create_workers'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:497:in `work_in_processes'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel.rb:291:in `map'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/executor.rb:31:in `run_in_parallel'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/dsl/pipeline.rb:78:in `run'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/commands/abstract_dsl.rb:73:in `generate_dsl_rbi_files'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/commands/dsl_generate.rb:16:in `execute'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/commands/command.rb:27:in `block in run'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca.rb:23:in `block in silence_warnings'
	from /opt/hostedtoolcache/Ruby/3.3.0/x64/lib/ruby/3.3.0/rubygems/user_interaction.rb:46:in `use_ui'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca.rb:22:in `silence_warnings'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/commands/command.rb:26:in `run'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `bind_call'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11305/lib/types/private/methods/_methods.rb:279:in `block in _on_method_added'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/lib/tapioca/cli.rb:168:in `dsl'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor/command.rb:28:in `run'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor/invocation.rb:127:in `invoke_command'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor.rb:527:in `dispatch'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor/base.rb:584:in `start'
	from /home/runner/work/leviathan/leviathan/vendor/bundle/ruby/3.3.0/gems/tapioca-0.13.0/exe/tapioca:25:in `<top (required)>'
	from bin/tapioca:27:in `load'
	from bin/tapioca:27:in `<main>'
** CI terminated: Update DSL RBIs failed!

Fixed in 0.13.1