Running QA against staging fails
I'm creating this issue to investigate/troubleshoot what's going on.
Today I've tried running QA against https://staging.gitlab.com and I stumbled upon the following issues:
-
Running
GITLAB_USERNAME=gitlab-qa GITLAB_PASSWORD="REDACTED" gitlab-qa Test::Instance::Any EE latest https://staging.gitlab.comfailed with
/Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/docker/specs.rb:34:in +': no implicit conversion of Fixnum into String (TypeError) from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/docker/specs.rb:34:in block in test_address'
from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/docker/engine.rb:17:in block in run' from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/docker/engine.rb:16:in tap'
from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/docker/engine.rb:16:in run' from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/docker/specs.rb:26:in test_address'
from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/scenario/test/instance/any.rb:13:in block in perform' from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/scenario/actable.rb:15:in perform'
from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/scenario/test/instance/any.rb:12:in perform' from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/scenario/template.rb:8:in block in perform'
from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/scenario/template.rb:6:in tap' from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/lib/gitlab/qa/scenario/template.rb:6:in perform'
from /Users/remy/.gem/ruby/2.3.5/gems/gitlab-qa-0.2.2/exe/gitlab-qa:7:in <top (required)>' from /Users/remy/.gem/ruby/2.3.5/bin/gitlab-qa:23:in load'
from /Users/remy/.gem/ruby/2.3.5/bin/gitlab-qa:23:in `'
which is solved in `master` but we didn't release a new version of the gem yet.
- Running `GITLAB_USERNAME=gitlab-qa GITLAB_PASSWORD="REDACTED" bin/qa Test::Instance::Any EE latest https://staging.gitlab.com` (in the `gitlab-qa@master` project) failed with the following errors:
-
push code to repository with regular account over http user pushes code to the repository Failure/Error: Page::Main::Entry.act { sign_in_using_credentials }
Capybara::ElementNotFound: Unable to find field :user_login
/usr/local/bundle/gems/capybara-2.12.1/lib/capybara/node/finders.rb:44:in `block in find'
/usr/local/bundle/gems/capybara-2.12.1/lib/capybara/node/base.rb:85:in `synchronize'
/usr/local/bundle/gems/capybara-2.12.1/lib/capybara/node/finders.rb:33:in `find'
/usr/local/bundle/gems/capybara-2.12.1/lib/capybara/node/actions.rb:92:in `fill_in'
/usr/local/bundle/gems/capybara-2.12.1/lib/capybara/session.rb:780:in `block (2 levels) in class:Session'
/usr/local/bundle/gems/capybara-2.12.1/lib/capybara/dsl.rb:52:in `block (2 levels) in module:DSL'
./qa/page/main/entry.rb:25:in `sign_in_using_credentials'
./qa/specs/features/repository/push_spec.rb:5:in `block (4 levels) in module:QA'
./qa/scenario/actable.rb:5:in `instance_exec'
./qa/scenario/actable.rb:5:in `act'
./qa/scenario/actable.rb:18:in `act'
./qa/specs/features/repository/push_spec.rb:5:in `block (3 levels) in module:QA'
./qa/specs/runner.rb:9:in `rspec'
./qa/scenario/test/instance.rb:20:in `block in perform'
./qa/scenario/actable.rb:14:in `perform'
./qa/scenario/test/instance.rb:19:in `perform'
./qa/scenario/template.rb:7:in `block in perform'
./qa/scenario/template.rb:5:in `tap'
./qa/scenario/template.rb:5:in `perform'
I think the problem is that we're visiting `visit('/')` in https://gitlab.com/gitlab-org/gitlab-ce/blob/b16c2ef7d5c4e7696b51c7e410381b316be128a6/qa/qa/page/main/entry.rb#L6 but on https://staging.gitlab.com this redirect to https://about.gitlab.com/. I think if we change that to:
```diff
diff --git a/qa/qa/page/main/entry.rb b/qa/qa/page/main/entry.rb
index a9810beeb2..91c1aef70a 100644
--- a/qa/qa/page/main/entry.rb
+++ b/qa/qa/page/main/entry.rb
@@ -3,7 +3,7 @@ module QA
module Main
class Entry < Page::Base
def initialize
- visit('/')
+ visit('/users/sign_in')
# This resolves cold boot / background tasks problems
#
That would probably solve the problem.
/cc @bjgopinath @grzesiek