Fixes version command
What does this MR do and why?
Closes #683 (closed)
Tells Zeitwerk to ignore the version file to prevent the following error when running gitlab-qa --version
.
❯ gitlab-qa --version
Traceback (most recent call last):
16: from /Users/jmccure/.asdf/installs/ruby/2.7.5/bin/gitlab-qa:25:in `<main>'
15: from /Users/jmccure/.asdf/installs/ruby/2.7.5/bin/gitlab-qa:25:in `load'
14: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/gitlab-qa-8.4.1/exe/gitlab-qa:9:in `<top (required)>'
13: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/gitlab-qa-8.4.1/lib/gitlab/qa/runner.rb:25:in `run'
12: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/gitlab-qa-8.4.1/lib/gitlab/qa/runner.rb:25:in `new'
11: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1093:in `initialize'
10: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/gitlab-qa-8.4.1/lib/gitlab/qa/runner.rb:75:in `block in run'
9: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1680:in `parse'
8: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1691:in `parse!'
7: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1666:in `permute!'
6: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1569:in `order!'
5: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1575:in `parse_in_order'
4: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1575:in `catch'
3: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/2.7.0/optparse.rb:1621:in `block in parse_in_order'
2: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/gitlab-qa-8.4.1/lib/gitlab/qa/runner.rb:50:in `block (2 levels) in run'
1: from /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/zeitwerk-2.6.0/lib/zeitwerk/kernel.rb:39:in `require'
/Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/zeitwerk-2.6.0/lib/zeitwerk/loader/callbacks.rb:25:in `on_file_autoloaded': expected file /Users/jmccure/.asdf/installs/ruby/2.7.5/lib/ruby/gems/2.7.0/gems/gitlab-qa-8.4.1/lib/gitlab/qa/version.rb to define constant Gitlab::QA::Version, but didn't (Zeitwerk::NameError)
An alternative solution would be to move version.rb out of lib so it isn't autoloaded.
How to set up and validate locally
After building and installing gem:
gitlab-qa --version
❯ gitlab-qa -v
/Users/jmccure/.asdf/installs/ruby/2.7.5/bin/gitlab-qa : 8.4.1
From gitlab-qa dir:
exe/gitlab-qa --version
❯ exe/gitlab-qa -v
exe/gitlab-qa : 8.4.1
Closes https://gitlab.com/gitlab-org/gitlab-qa/-/issues/683
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by George Koltsov