Failure in features/ee/browser_ui/4_verify/pipeline_for_project_mirror_github_spec.rb | Unable to find new project in project namespace dropdown
Summary
Test failed to find project name in project_namespace_select
dropdown
Failed job https://ops.gitlab.net/gitlab-org/quality/staging/-/jobs/3242001
Stack trace
At first try couldn't find project name in dropdown (perhaps there is a delay creating the project if using importing method), a proper wait could be solution here.
1.1) Failure/Error:
EE::Resource::ImportRepoWithCICD.fabricate_via_browser_ui! do |project|
project.import = true
project.name = project_name
project.github_personal_access_token = github_data[:access_token]
project.github_repository_path = github_data[:repo_name]
end
Capybara::ElementNotFound:
Unable to find css "[data-qa-selector=\"project_namespace_select\"],.qa-project-namespace-select" within #<Capybara::Node::Element tag="tr" path="/HTML/BODY[1]/DIV[3]/DIV[1]/DIV[3]/MAIN[1]/DIV[2]/DIV[2]/TABLE[1]/TBODY[1]/TR[13]">
With the 1st attempt failed, test then tried to re-import the project in the same group but at this point there is no need to authenticate with github anymore hence error
1.2) Failure/Error:
EE::Resource::ImportRepoWithCICD.fabricate_via_browser_ui! do |project|
project.import = true
project.name = project_name
project.github_personal_access_token = github_data[:access_token]
project.github_repository_path = github_data[:repo_name]
end
Capybara::ElementNotFound:
Unable to find css "[data-qa-selector=\"personal_access_token_field\"],.qa-personal-access-token-field"
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:296:in `block in synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/base.rb:83:in `synchronize'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:287:in `synced_resolve'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/node/finders.rb:52:in `find'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/session.rb:749:in `block (2 levels) in <class:Session>'
/usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/docker/shellout.rb:31:in `block in execute!': Docker command `docker run -t --rm --net=bridge --env QA_REMOTE_GRID_USERNAME="$QA_REMOTE_GRID_USERNAME" --env QA_REMOTE_GRID_ACCESS_KEY="$QA_REMOTE_GRID_ACCESS_KEY" --env QA_REMOTE_GRID_PROTOCOL="$QA_REMOTE_GRID_PROTOCOL" --env GITLAB_ADMIN_USERNAME="$GITLAB_ADMIN_USERNAME" --env GITLAB_ADMIN_PASSWORD="$GITLAB_ADMIN_PASSWORD" --env GITLAB_USERNAME="$GITLAB_USERNAME" --env GITLAB_PASSWORD="$GITLAB_PASSWORD" --env GITLAB_FORKER_USERNAME="$GITLAB_FORKER_USERNAME" --env GITLAB_FORKER_PASSWORD="$GITLAB_FORKER_PASSWORD" --env GITLAB_QA_ACCESS_TOKEN="$GITLAB_QA_ACCESS_TOKEN" --env GITLAB_QA_ADMIN_ACCESS_TOKEN="$GITLAB_QA_ADMIN_ACCESS_TOKEN" --env GITHUB_ACCESS_TOKEN="$GITHUB_ACCESS_TOKEN" --env GCLOUD_ACCOUNT_EMAIL="$GCLOUD_ACCOUNT_EMAIL" --env GCLOUD_ACCOUNT_KEY="$GCLOUD_ACCOUNT_KEY" --env CLOUDSDK_CORE_PROJECT="$CLOUDSDK_CORE_PROJECT" --env GCLOUD_REGION="$GCLOUD_REGION" --env SIGNUP_DISABLED="$SIGNUP_DISABLED" --env QA_PRAEFECT_REPOSITORY_STORAGE="$QA_PRAEFECT_REPOSITORY_STORAGE" --env QA_GITALY_NON_CLUSTER_STORAGE="$QA_GITALY_NON_CLUSTER_STORAGE" --env QA_DEBUG="$QA_DEBUG" --env QA_DEFAULT_BRANCH="$QA_DEFAULT_BRANCH" --env QA_CAN_TEST_ADMIN_FEATURES="$QA_CAN_TEST_ADMIN_FEATURES" --env QA_CAN_TEST_GIT_PROTOCOL_V2="$QA_CAN_TEST_GIT_PROTOCOL_V2" --env QA_CAN_TEST_PRAEFECT="$QA_CAN_TEST_PRAEFECT" --env GITLAB_QA_USERNAME_1="$GITLAB_QA_USERNAME_1" --env GITLAB_QA_PASSWORD_1="$GITLAB_QA_PASSWORD_1" --env GITLAB_QA_PASSWORD_2="$GITLAB_QA_PASSWORD_2" --env GITHUB_USERNAME="$GITHUB_USERNAME" --env GITHUB_PASSWORD="$GITHUB_PASSWORD" --env CI="$CI" --env CI_JOB_URL="$CI_JOB_URL" --env CI_RUNNER_ID="$CI_RUNNER_ID" --env CI_SERVER_HOST="$CI_SERVER_HOST" --env CI_NODE_TOTAL="$CI_NODE_TOTAL" --env CI_PROJECT_NAME="$CI_PROJECT_NAME" --env GITLAB_CI="$GITLAB_CI" --env CI_SLACK_WEBHOOK_URL="$CI_SLACK_WEBHOOK_URL" --env GITLAB_QA_FORMLESS_LOGIN_TOKEN="$GITLAB_QA_FORMLESS_LOGIN_TOKEN" --env JIRA_ADMIN_USERNAME="$JIRA_ADMIN_USERNAME" --env JIRA_ADMIN_PASSWORD="$JIRA_ADMIN_PASSWORD" --env DEPLOY_VERSION="$DEPLOY_VERSION" --env GITLAB_QA_USER_AGENT="$GITLAB_QA_USER_AGENT" --volume /var/run/docker.sock:/var/run/docker.sock:z --volume /builds/gitlab-org/quality/staging/gitlab-qa-run-2021-03-01-09-39-57-3c53cc92/gitlab-ee-qa-ec65bd93:/home/gitlab/qa/tmp:z --name gitlab-ee-qa-ec65bd93 dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee-qa:13.10-884e3656eae Test::Instance::All https://staging.gitlab.com -- qa/specs/features/ee/browser_ui/4_verify --format QA::Support::JsonFormatter --out "tmp/rspec-3283890.json" --format RspecJunitFormatter --out "tmp/rspec-3283890.xml" --format html --out "tmp/rspec-$(echo $CI_JOB_NAME | sed 's/[ /]/_/g').htm" --color --format documentation` failed! (Gitlab::QA::Docker::Shellout::StatusError)
from /usr/local/lib/ruby/2.7.0/open3.rb:219:in `popen_run'
from /usr/local/lib/ruby/2.7.0/open3.rb:208:in `popen2e'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/docker/shellout.rb:19:in `execute!'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/docker/command.rb:48:in `execute!'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/docker/engine.rb:27:in `block in run'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/docker/engine.rb:21:in `tap'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/docker/engine.rb:21:in `run'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/component/specs.rb:46:in `block in perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/component/specs.rb:45:in `each'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/component/specs.rb:45:in `perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/template.rb:8:in `block in perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/template.rb:6:in `tap'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/template.rb:6:in `perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/test/instance/deployment_base.rb:26:in `perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/template.rb:8:in `block in perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/template.rb:6:in `tap'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/scenario/template.rb:6:in `perform'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/lib/gitlab/qa/runner.rb:46:in `run'
from /usr/local/bundle/gems/gitlab-qa-6.22.1/exe/gitlab-qa:8:in `<top (required)>'
from /usr/local/bundle/bin/gitlab-qa:23:in `load'
from /usr/local/bundle/bin/gitlab-qa:23:in `<main>'
# /usr/local/bundle/gems/capybara-3.29.0/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./qa/page/base.rb:110:in `find_element'
# ./qa/support/page/logging.rb:38:in `find_element'
# ./qa/page/base.rb:175:in `fill_element'
# ./qa/support/page/logging.rb:88:in `fill_element'
# ./qa/page/project/import/github.rb:23:in `add_personal_access_token'
# ./qa/resource/project_imported_from_github.rb:19:in `block in fabricate!'
# ./qa/scenario/actable.rb:16:in `perform'
# ./qa/resource/project_imported_from_github.rb:18:in `fabricate!'
# ./qa/ee/resource/import_repo_with_ci_cd.rb:8:in `fabricate!'
# ./qa/resource/base.rb:30:in `block (2 levels) in fabricate_via_browser_ui!'
# ./qa/resource/base.rb:135:in `log_fabrication'
# ./qa/resource/base.rb:30:in `block in fabricate_via_browser_ui!'
# ./qa/resource/base.rb:118:in `do_fabricate!'
# ./qa/resource/base.rb:29:in `fabricate_via_browser_ui!'
# ./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_project_mirror_github_spec.rb:18:in `block (3 levels) in <module:QA>'
# ./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_project_mirror_github_spec.rb:86:in `remove_project'
# ./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_project_mirror_github_spec.rb:33:in `block (3 levels) in <module:QA>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./spec/spec_helper.rb:78:in `block (2 levels) in <top (required)>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
# ./qa/specs/runner.rb:73:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/template.rb:35:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/bootable.rb:28:in `launch!'
Screenshot / HTML page
Possible fixes
Need to give sufficient time for project to be created here I think, we might be looking for it in the dropdown way too fast. And also there is the retry logic that would go out and try to import the project again but at this point there is no field to re-enter Github access token too. Need to also re-think this process.