"gitlab-qa --version" does not work since 8.0.0
Error received is:
/usr/lib/ruby/gems/2.6.0/gems/zeitwerk-2.6.0/lib/zeitwerk/loader/callbacks.rb:25:in `on_file_autoloaded': expected file /usr/lib/ruby/gems/2.6.0/gems/gitlab-qa-8.0.0/lib/gitlab/qa/version.rb to define constant Gitlab::QA::Version, but didn't (Zeitwerk::NameError)
It's fine on any older version, and 8.0.0 included https://gitlab.com/gitlab-org/gitlab-qa/-/merge_requests/996 (Adding the zeitwerk code loader), so it seems likely related.
For quick reproduction (which I did to ensure it wasn't something on my workstation):
- docker run -it alpine:latest
- apk add ruby ruby-dev g++ make ruby-nokogiri
- gem install gitlab-qa --version=8.0.0
- gitlab-qa --version
Get error noted above. Repeat, but with --version=7.36.0 for the gem command and it works fine:
/usr/bin/gitlab-qa : 7.36.0
I have no reason to believe this is affecting anything else in the gem, but it did confuse me for a while. I also have no idea how to fix it, sorry; alternative ruby code loaders are magic beyond my ken.