diff --git a/database/buildfarmer.db b/database/buildfarmer.db index d8272ad..c3bcf9a 100644 Binary files a/database/buildfarmer.db and b/database/buildfarmer.db differ diff --git a/database/scripts/issue_update_priority.sql b/database/scripts/issue_update_priority.sql new file mode 100644 index 0000000..01235bf --- /dev/null +++ b/database/scripts/issue_update_priority.sql @@ -0,0 +1,3 @@ +UPDATE test_fail_issues +SET priority = "@param2@" +WHERE github_issue = "@param1@" diff --git a/database/scripts/lib/buildfarm_tools.rb b/database/scripts/lib/buildfarm_tools.rb index 72bfb7e..015d64a 100644 --- a/database/scripts/lib/buildfarm_tools.rb +++ b/database/scripts/lib/buildfarm_tools.rb @@ -25,7 +25,7 @@ def self.build_regressions_today(filter_known: false) out end - def self.known_issues(status: '') + def self.known_issues(status: '%%') # Default is all issues. This is not the best approach, but better than none # Keys: error_name, job_name, github_issue, status run_command("./sql_run.sh get_known_issues.sql", args: [status.upcase]) end @@ -182,6 +182,15 @@ def self.calculate_issue_priority(issue_link) error_score_jobs.each_value.map {|e| e.max}.sum.round(3) end + def self.update_issues_priority + issues_list = known_issues.group_by { |e| e["github_issue"] }.to_a.map {|e| e[0]} + issues_list.each do |i| + priority = calculate_issue_priority(i) + run_command('./sql_run.sh issue_update_priority.sql', args: [i, priority]) + puts "Updated Priority of: #{i} -> #{priority}" + end + end + def self.add_known_issue(error_name, job_name, github_issue) Open3.popen3("./issue_save_new.sh '#{error_name}' '#{error_name.split('.').first}' '#{job_name}' '#{github_issue}'") do |_, _, _, t| t.value.exitstatus