From 6c32cabf3811433f8f7b0ea21bdd7a406c32fc74 Mon Sep 17 00:00:00 2001 From: Jake Coffman Date: Mon, 22 Apr 2024 08:12:20 -0500 Subject: [PATCH 1/4] fix ignore conditions nil error --- .../dependabot/pull_request_creator/message_builder.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/common/lib/dependabot/pull_request_creator/message_builder.rb b/common/lib/dependabot/pull_request_creator/message_builder.rb index 8f961f2f7dd..84ed6f60813 100644 --- a/common/lib/dependabot/pull_request_creator/message_builder.rb +++ b/common/lib/dependabot/pull_request_creator/message_builder.rb @@ -1,6 +1,7 @@ # typed: strict # frozen_string_literal: true +require "time" require "pathname" require "sorbet-runtime" @@ -127,6 +128,7 @@ def pr_message truncate_pr_message(msg) rescue StandardError => e Dependabot.logger.error("Error while generating PR message: #{e.message}") + Dependabot.logger.error(e.backtrace&.join("\n")) suffixed_pr_message_header + prefixed_pr_message_footer end @@ -162,6 +164,7 @@ def commit_message message rescue StandardError => e Dependabot.logger.error("Error while generating commit message: #{e.message}") + Dependabot.logger.error(e.backtrace&.join("\n")) message = commit_subject message += "\n\n" + T.must(message_trailers) if message_trailers message @@ -276,6 +279,7 @@ def pr_name_prefix pr_name_prefixer.pr_name_prefix rescue StandardError => e Dependabot.logger.error("Error while generating PR name: #{e.message}") + Dependabot.logger.error(e.backtrace&.join("\n")) "" end @@ -735,9 +739,9 @@ def ignore_conditions_table # Return an empty string if no valid ignore conditions after filtering return "" if valid_ignore_conditions.empty? - # Sort them by updated_at (or created_at if updated_at is nil), taking the latest 20 + # Sort them by updated_at, taking the latest 20 sorted_ignore_conditions = valid_ignore_conditions.sort_by do |ic| - ic["updated_at"].nil? ? T.must(ic["created_at"]) : T.must(ic["updated_at"]) + ic["updated-at"].nil? ? Time.at(0).iso8601 : T.must(ic["updated-at"]) end.last(20) # Map each condition to a row string From c70bcfdbb39444b00b2488c9eb79faef51b1bb84 Mon Sep 17 00:00:00 2001 From: Jake Coffman Date: Mon, 22 Apr 2024 09:08:52 -0500 Subject: [PATCH 2/4] test nil and a sort that's not natural sort order --- .../dependabot/pull_request_creator/message_builder_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/spec/dependabot/pull_request_creator/message_builder_spec.rb b/common/spec/dependabot/pull_request_creator/message_builder_spec.rb index 442c2637121..d051956456c 100644 --- a/common/spec/dependabot/pull_request_creator/message_builder_spec.rb +++ b/common/spec/dependabot/pull_request_creator/message_builder_spec.rb @@ -2645,7 +2645,7 @@ def commits_details(base:, head:) "dependency-name" => "business#{i}", "version-requirement" => "<= 1.#{i}.0", "source" => "@dependabot ignore command", - "updated_at" => Time.now + "updated-at" => i == 4 ? nil : Time.now.iso8601 } ) end @@ -2655,9 +2655,9 @@ def commits_details(base:, head:) expect(pr_message).to include( "| Dependency Name | Ignore Conditions |\n" \ "| --- | --- |\n" \ + "| business4 | [<= 1.4.0] |\n" \ "| business2 | [<= 1.2.0] |\n" \ "| business3 | [<= 1.3.0] |\n" \ - "| business4 | [<= 1.4.0] |\n" \ "| business5 | [<= 1.5.0] |\n" ) end From 99ef46f19800ad1c2484250b5b25be482d393d16 Mon Sep 17 00:00:00 2001 From: Jake Coffman Date: Mon, 22 Apr 2024 09:52:56 -0500 Subject: [PATCH 3/4] dry --- .../pull_request_creator/message_builder.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/common/lib/dependabot/pull_request_creator/message_builder.rb b/common/lib/dependabot/pull_request_creator/message_builder.rb index 84ed6f60813..98506649e0d 100644 --- a/common/lib/dependabot/pull_request_creator/message_builder.rb +++ b/common/lib/dependabot/pull_request_creator/message_builder.rb @@ -127,8 +127,7 @@ def pr_message truncate_pr_message(msg) rescue StandardError => e - Dependabot.logger.error("Error while generating PR message: #{e.message}") - Dependabot.logger.error(e.backtrace&.join("\n")) + suppress_error("PR message", e) suffixed_pr_message_header + prefixed_pr_message_footer end @@ -163,8 +162,7 @@ def commit_message message += "\n\n" + T.must(message_trailers) if message_trailers message rescue StandardError => e - Dependabot.logger.error("Error while generating commit message: #{e.message}") - Dependabot.logger.error(e.backtrace&.join("\n")) + suppress_error("commit message", e) message = commit_subject message += "\n\n" + T.must(message_trailers) if message_trailers message @@ -278,8 +276,7 @@ def grouped_directory_name def pr_name_prefix pr_name_prefixer.pr_name_prefix rescue StandardError => e - Dependabot.logger.error("Error while generating PR name: #{e.message}") - Dependabot.logger.error(e.backtrace&.join("\n")) + suppress_error("PR name", e) "" end @@ -887,6 +884,12 @@ def package_manager T.nilable(String) ) end + + sig { params(err: StandardError).void } + def suppress_error(method, err) + Dependabot.logger.error("Error while generating #{method}: #{err.message}") + Dependabot.logger.error(err.backtrace&.join("\n")) + end end end end From 0baffe304d44468b56aff89331e522f11bec8c49 Mon Sep 17 00:00:00 2001 From: Jake Coffman Date: Mon, 22 Apr 2024 09:54:12 -0500 Subject: [PATCH 4/4] oops fix signature --- common/lib/dependabot/pull_request_creator/message_builder.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/dependabot/pull_request_creator/message_builder.rb b/common/lib/dependabot/pull_request_creator/message_builder.rb index 98506649e0d..521eb88231b 100644 --- a/common/lib/dependabot/pull_request_creator/message_builder.rb +++ b/common/lib/dependabot/pull_request_creator/message_builder.rb @@ -885,7 +885,7 @@ def package_manager ) end - sig { params(err: StandardError).void } + sig { params(method: String, err: StandardError).void } def suppress_error(method, err) Dependabot.logger.error("Error while generating #{method}: #{err.message}") Dependabot.logger.error(err.backtrace&.join("\n"))