Class: GitlabQuality::TestTooling::TestMeta::Processor::AddToBlockingProcessor
- Inherits:
-
MetaProcessor
- Object
- MetaProcessor
- GitlabQuality::TestTooling::TestMeta::Processor::AddToBlockingProcessor
- Defined in:
- lib/gitlab_quality/test_tooling/test_meta/processor/add_to_blocking_processor.rb
Constant Summary collapse
- BLOCKING_METADATA =
", :blocking%{suffix}"- BRANCH_PREFIX =
'blocking-promotion'- MAX_LINE_LENGTH =
120
Constants inherited from MetaProcessor
MetaProcessor::DESCRIPTION_REGEX
Class Method Summary collapse
-
.create_merge_requests(context) ⇒ Object
Creates the merge requests for promoting E2E tests to :blocking.
-
.post_process(context) ⇒ Object
Performs post processing.
Methods inherited from MetaProcessor
create_commit, end_of_description_index, existing_mrs, failure_issue_text, spec_details_from_commits
Class Method Details
.create_merge_requests(context) ⇒ Object
Creates the merge requests for promoting E2E tests to :blocking
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/gitlab_quality/test_tooling/test_meta/processor/add_to_blocking_processor.rb', line 16 def create_merge_requests(context) @context = context context.processed_commits.each_value do |record| branch, devops_stage, product_group, file, reviewer_id, assignee_handle = extract_data_from_record(record) mr_title = format("%{prefix} %{file}", prefix: '[E2E] PROMOTE TO BLOCKING:', file: file).truncate(72, omission: '') merge_request = context.create_merge_request(mr_title, branch, gitlab_bot_user_id, [reviewer_id]) do merge_request_description(record, devops_stage, product_group) end context.post_note_on_merge_request(maintainer_note_on_merge_request(assignee_handle), merge_request.iid) if merge_request Runtime::Logger.info(" Created MR for promotion to blocking: #{merge_request.web_url}") record[:merge_request] = merge_request end end end |
.post_process(context) ⇒ Object
Performs post processing. Posts a list of MRs in a note on report_issue
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/gitlab_quality/test_tooling/test_meta/processor/add_to_blocking_processor.rb', line 40 def post_process(context) web_urls = context.processed_commits.values.map { |value| "- #{value[:merge_request].web_url}\n" }.join return if web_urls.empty? context.post_note_on_issue(<<~ISSUE_NOTE, context.report_issue) The following merge requests have been created to promote stable specs to blocking: #{web_urls} ISSUE_NOTE end |