Skip to content

Sometimes Zeitwerk messes up on CI action #95

Description

@pedantic-git

Sometimes when running the tests on the new GH Actions, we get an error like:

/home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/devise-4.8.1/lib/devise/mailers/helpers.rb:5:in `<module:Mailers>': uninitialized constant Devise::Mailers::Helpers (NameError)
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/devise-4.8.1/lib/devise/mailers/helpers.rb:4:in `<module:Devise>'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/devise-4.8.1/lib/devise/mailers/helpers.rb:3:in `<main>'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/devise-4.8.1/app/mailers/devise/mailer.rb:5:in `<class:Mailer>'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/devise-4.8.1/app/mailers/devise/mailer.rb:4:in `<main>'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.[16](https://github.com/fishpercolator/name.pn/actions/runs/4126639812/jobs/7128830129#step:9:17).0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
	from /home/runner/work/name.pn/name.pn/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
	from /home/runner/work/name.pn/name.pn/config/initializers/mailer.rb:1:in `<main>'

This suggests to me a Zeitwerk issue with files loading in the wrong order.

It's not a huge deal because rerunning the tests works, but it would be good to get to the bottom of it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinginfrastructureInfrastructure-only changes

    Type

    No type

    Projects

    Status
    To do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions