Class: Gitlab::QA::Support::DevEEQAImage
- Inherits:
-
Object
- Object
- Gitlab::QA::Support::DevEEQAImage
- Defined in:
- lib/gitlab/qa/support/dev_ee_qa_image.rb
Constant Summary collapse
- DEV_ADDRESS =
'https://dev.gitlab.org'.freeze
- GITLAB_EE_QA_REPOSITORY_ID =
55
- QAImageNotFoundError =
Class.new(StandardError)
Instance Attribute Summary collapse
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
Instance Method Summary collapse
-
#initialize ⇒ DevEEQAImage
constructor
A new instance of DevEEQAImage.
- #retrieve_image_from_container_registry!(revision) ⇒ Object
Constructor Details
#initialize ⇒ DevEEQAImage
Returns a new instance of DevEEQAImage.
14 15 16 17 18 |
# File 'lib/gitlab/qa/support/dev_ee_qa_image.rb', line 14 def initialize @base_url = "#{DEV_ADDRESS}/api/v4/projects/gitlab%2Fomnibus-gitlab/registry/repositories/#{GITLAB_EE_QA_REPOSITORY_ID}/tags?per_page=100" Runtime::Env.require_qa_dev_access_token! end |
Instance Attribute Details
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
8 9 10 |
# File 'lib/gitlab/qa/support/dev_ee_qa_image.rb', line 8 def base_url @base_url end |
Instance Method Details
#retrieve_image_from_container_registry!(revision) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/gitlab/qa/support/dev_ee_qa_image.rb', line 20 def retrieve_image_from_container_registry!(revision) request_url = base_url begin response = api_get!(URI.parse(request_url)) = JSON.parse(response.body) matching_qa_image_tag = find_matching_qa_image_tag(, revision) return matching_qa_image_tag['location'] if matching_qa_image_tag request_url = next_page_url_from_response(response) end while request_url raise QAImageNotFoundError, "No `gitlab-ee-qa` image could be found for the revision `#{revision}`." end |