Skip to content

Commit d70236a

Browse files
authored
Merge branch 'main' into feature/runtime-node-topic
2 parents 8a3d510 + fd55399 commit d70236a

File tree

8 files changed

+52
-10
lines changed

8 files changed

+52
-10
lines changed

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ source "https://rubygems.org"
33
gem "faraday", "2.14.1"
44
gem "faraday-retry", "2.4.0"
55
gem "github-pages", "~> 232", group: :jekyll_plugins
6-
gem "json", "2.18.0"
6+
gem "json", "2.19.2"
77
gem "language_server-protocol", "3.17.0.5"
88
gem "nokogiri", "~> 1.19.0"
99
gem "rake", "13.3.1"

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ GEM
236236
gemoji (>= 3, < 5)
237237
html-pipeline (~> 2.2)
238238
jekyll (>= 3.0, < 5.0)
239-
json (2.18.0)
239+
json (2.19.2)
240240
kramdown (2.4.0)
241241
rexml
242242
kramdown-parser-gfm (1.1.0)
@@ -371,7 +371,7 @@ DEPENDENCIES
371371
fastimage
372372
github-pages (~> 232)
373373
httparty
374-
json (= 2.18.0)
374+
json (= 2.19.2)
375375
language_server-protocol (= 3.17.0.5)
376376
minitest
377377
nokogiri (~> 1.19.0)

collections/machine-learning/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ items:
3939
- https://www.youtube.com/embed/bHvf7Tagt18
4040
- https://www.youtube.com/embed/ILsA4nyG7I0
4141
- AMAI-GmbH/AI-Expert-Roadmap
42-
- vitali87/code-graph-rag
4342
display_name: Getting started with machine learning
4443
created_by: omoju
4544
---

collections/software-development-tools/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ items:
1818
- AhmedOsman101/commit-sage-cli
1919
- semaphoreio/semaphore
2020
- Nayjest/Gito
21-
- vitali87/code-graph-rag
2221
display_name: Software development tools
2322
---
2423
Build apps better, faster, stronger.

collections/voxel-editors/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ items:
66
- grking/zoxel
77
- Perkovec/Vuxel
88
- GaidamakUA/Voxenko
9-
- gerardparareda/BlockyTracer
109
- Bequen/GridEditor
1110
- honestabelink/stonevox3d
1211
- jval1972/DD_VOXEL

test/collections_test.rb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@
140140
if ENV["SKIP_COLLECTION_API_CHECKS"]
141141
skip "Skipping collection API checks (rename detection handled by collections-renames)"
142142
end
143+
prefetch_all_collection_items!
143144

144145
errors = []
145146
repos_to_check = []
@@ -155,10 +156,6 @@
155156
end
156157
end
157158

158-
cache_repos_exist_check!(repos_to_check)
159-
cache_users_exist_check!(users_to_check)
160-
cache_orgs_exist_check!(users_not_found_from(users_to_check))
161-
162159
repos_to_check.each do |repo|
163160
repo_result = client.repository(repo)
164161
current_name_with_owner = repo_result&.full_name

test/collections_test_helper.rb

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,42 @@ def annotate_collection_item_error(collection, string, error_message)
118118
def possible_image_file_names_for_collection(collection)
119119
COLLECTION_IMAGE_EXTENSIONS.map { |ext| "#{collection}#{ext}" }
120120
end
121+
122+
GRAPHQL_BATCH_SIZE = 100
123+
124+
def prefetch_all_collection_items!
125+
return if NewOctokit.global_prefetch_done?
126+
127+
repos, users = collect_all_collection_items
128+
prefetch_repos!(repos)
129+
prefetch_users!(users)
130+
131+
NewOctokit.global_prefetch_done!
132+
end
133+
134+
def collect_all_collection_items
135+
all_items = collections.flat_map { |c| items_for_collection(c) || [] }
136+
137+
repos = all_items.select { |item| item.match?(USERNAME_AND_REPO_REGEX) }.uniq
138+
users = all_items
139+
.select { |item| item.match?(USERNAME_REGEX) && !item.match?(USERNAME_AND_REPO_REGEX) }
140+
.uniq
141+
142+
[repos, users]
143+
end
144+
145+
def prefetch_repos!(repos)
146+
repos.each_slice(GRAPHQL_BATCH_SIZE) do |batch|
147+
cache_repos_exist_check!(batch)
148+
end
149+
end
150+
151+
def prefetch_users!(users)
152+
users.each_slice(GRAPHQL_BATCH_SIZE) do |batch|
153+
cache_users_exist_check!(batch)
154+
end
155+
156+
users_not_found_from(users).each_slice(GRAPHQL_BATCH_SIZE) do |batch|
157+
cache_orgs_exist_check!(batch)
158+
end
159+
end

test/test_helper.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ class NewOctokit < Octokit::Client
5959
@@repo_request_count = 0 unless defined? @@repo_request_count
6060
@@user_request_count = 0 unless defined? @@user_request_count
6161
@@messages = [] unless defined? @@messages
62+
@@global_prefetch_done = false unless defined? @@global_prefetch_done
6263

6364
def repos
6465
@@repos
@@ -122,6 +123,14 @@ def self.messages
122123
@@messages
123124
end
124125

126+
def self.global_prefetch_done?
127+
@@global_prefetch_done
128+
end
129+
130+
def self.global_prefetch_done!
131+
@@global_prefetch_done = true
132+
end
133+
125134
# rubocop:enable Style/ClassVars
126135
end
127136

0 commit comments

Comments
 (0)