github_repo_statistics 2.2.7 → 2.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59634e40931b882f4ee361ce7169a527319207e692e4107557456789b7059c7d
4
- data.tar.gz: 5e70e25d137e0eb869c83750f946231d3d6222e5f8bf3aac1e22898035935e1e
3
+ metadata.gz: f245b6049e774db333ca34b3adca5a17f88e4f3af89cbca24b51f4cbb348698b
4
+ data.tar.gz: 54f0ff2e46b91d01a37f0f37a753d3e142f45d4e1453b582e0fb06afafa96648
5
5
  SHA512:
6
- metadata.gz: 15904f86e2c96e74e1396c5470ad3ef1698800b110840cc3b8b2d0000914a09984225c92eb3297878b8e4a4ab608d4efa5e134b2f6357ae048606573131f5c17
7
- data.tar.gz: e1cb2e8c6e491e0cc30b55abc67fb39a2ae0be11907b05efe7b92299699317c00db25116a56a2386cb7ab227e8cade36ac71f2e74c52d4b77d66ba597ea864d2
6
+ metadata.gz: 7c8744737e5f77bb61cc94d377f27f0b3441b55ca675810524fad0627f8580197ab4184d3b7539db448fef19dbcd22219b3bb9f253e2437418a706c2a8ef576b
7
+ data.tar.gz: 5b3a2cfc158deaf6a867324851fab66f04ccb0bfbb4be6499bc375d1708fb37bc0c5c3979010e0ba953d28c2272729e1a254d6859f22d7765724fea884d249cf
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- github_repo_statistics (2.2.6)
4
+ github_repo_statistics (2.2.8)
5
5
  date
6
6
  faraday-retry
7
7
  google-cloud-bigquery
@@ -22,6 +22,10 @@ class ForceMergeReport
22
22
  # Sort PRs into monthly chunks
23
23
  weekly_pull_requests = pull_requests.group_by { |pr| pr.closed_at.strftime('%Y-%W') }
24
24
 
25
+ if weekly_pull_requests[Time.now.strftime('%Y-%W')].nil?
26
+ weekly_pull_requests[Time.now.strftime('%Y-%W')] = []
27
+ end
28
+
25
29
  # Initialize a hash to store monthly summaries
26
30
  weekly_summaries = Hash.new { |hash, key| hash[key] = { total: 0, failed: 0, workflows: Hash.new(0) } }
27
31
 
@@ -48,9 +52,9 @@ class ForceMergeReport
48
52
 
49
53
  # Filter checks without meeting the required status checks
50
54
  failed_checks = all_checks.reject { |check| check.conclusion == 'success' || check.state == 'success' }
51
-
55
+
52
56
  failed_checks.select! do |check|
53
- ['Mergeable: Size check', 'SonarQube Code Analysis', 'UI Tests'].include?(check.name)
57
+ ['UI Tests', 'Unit Tests'].include?(check.context) || ['Mergeable: Size check', 'SonarQube Code Analysis'].include?(check.name)
54
58
  end
55
59
 
56
60
  # Update monthly summary
@@ -86,6 +90,7 @@ class ForceMergeReport
86
90
  summary[:workflows].each do |workflow, count|
87
91
  puts " - #{workflow}: #{count}"
88
92
  end
93
+ ENV['BQ_CREDENTIALS'] = `cat /Users/serghei.moret/.config/gcloud/application_default_credentials.json`
89
94
  if ENV['BQ_CREDENTIALS']
90
95
  require "google/cloud/bigquery"
91
96
  require "json"
@@ -97,15 +102,25 @@ class ForceMergeReport
97
102
  dataset = bigquery.dataset "github_data"
98
103
 
99
104
  failed_count = summary[:failed]
105
+ size_check = summary[:workflows]["Mergeable: Size check"]
106
+ sonarqube_check = summary[:workflows]['SonarQube Code Analysis']
107
+ ui_tests_check = summary[:workflows]['UI Tests']
108
+ unit_tests_check = summary[:workflows]['Unit Tests']
100
109
 
101
110
  query = <<~SQL
102
111
  MERGE INTO force_merges AS target
103
112
  USING (SELECT '#{week}' AS calendar_week) AS source
104
113
  ON target.calendar_week = source.calendar_week
105
114
  WHEN MATCHED THEN
106
- UPDATE SET target.force_merges_count = #{failed_count}
115
+ UPDATE SET
116
+ target.force_merges_count = #{failed_count},
117
+ target.ui_tests_count = #{ui_tests_check},
118
+ target.unit_tests_count = #{unit_tests_check},
119
+ target.size_check_count = #{size_check},
120
+ target.sonarqube_count = #{sonarqube_check}
107
121
  WHEN NOT MATCHED THEN
108
- INSERT (calendar_week, force_merges_count) VALUES ('#{week}', #{failed_count});
122
+ INSERT (calendar_week, force_merges_count, ui_tests_count, unit_tests_count, size_check_count, sonarqube_count)
123
+ VALUES ('#{week}', #{failed_count}, #{ui_tests_check}, #{unit_tests_check}, #{size_check}, #{sonarqube_check});
109
124
  SQL
110
125
 
111
126
  dataset.query(query)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class GithubRepoStatistics
4
- VERSION = '2.2.7'
4
+ VERSION = '2.2.9'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_repo_statistics
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.7
4
+ version: 2.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Serghei Moret
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-29 00:00:00.000000000 Z
11
+ date: 2024-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: date