Skip to content

Commit b88126a

Browse files
Merge pull request #86 from cuviper/cargo-milestones
Use milestones for cargo too
2 parents 43bb6dc + 5496658 commit b88126a

File tree

1 file changed

+1
-105
lines changed

1 file changed

+1
-105
lines changed

src/main.rs

Lines changed: 1 addition & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ fn main() {
5555
while today - end > six_weeks {
5656
end = end + six_weeks;
5757
}
58-
let start = end - six_weeks;
5958

6059
let mut issues = get_issues_by_milestone(&version, "rust");
6160
issues.sort_by_cached_key(|issue| issue["number"].as_u64().unwrap());
@@ -86,7 +85,7 @@ fn main() {
8685
let (compat_unsorted, libraries_unsorted, language_unsorted, compiler_unsorted, unsorted) =
8786
partition_prs(rest);
8887

89-
let mut cargo_issues = get_issues_by_date(start, end, "cargo");
88+
let mut cargo_issues = get_issues_by_milestone(&version, "cargo");
9089
cargo_issues.sort_by_cached_key(|issue| issue["number"].as_u64().unwrap());
9190

9291
let (cargo_relnotes, cargo_unsorted) = {
@@ -207,109 +206,6 @@ fn get_issues_by_milestone(version: &str, repo_name: &'static str) -> Vec<json::
207206
}
208207
}
209208

210-
fn get_issues_by_date(
211-
start: Date<Utc>,
212-
end: Date<Utc>,
213-
repo_name: &'static str,
214-
) -> Vec<json::Value> {
215-
use reqwest::blocking::Client;
216-
217-
let headers = request_header();
218-
let mut args = BTreeMap::new();
219-
args.insert("states", String::from("[MERGED]"));
220-
args.insert("last", String::from("100"));
221-
let mut issues = Vec::new();
222-
let mut not_found_window = true;
223-
224-
loop {
225-
let query = format!(
226-
r#"
227-
query {{
228-
repository(owner: "rust-lang", name: "{repo_name}") {{
229-
pullRequests({args}) {{
230-
nodes {{
231-
mergedAt
232-
number
233-
title
234-
url
235-
labels(last: 100) {{
236-
nodes {{
237-
name
238-
}}
239-
}}
240-
}}
241-
pageInfo {{
242-
startCursor
243-
}}
244-
}}
245-
}}
246-
}}"#,
247-
repo_name = repo_name,
248-
args = args
249-
.iter()
250-
.map(|(k, v)| format!("{}: {}", k, v))
251-
.collect::<Vec<_>>()
252-
.join(",")
253-
)
254-
.replace(" ", "")
255-
.replace("\n", " ")
256-
.replace('"', "\\\"");
257-
258-
let json_query = format!("{{\"query\": \"{}\"}}", query);
259-
260-
let client = Client::new();
261-
262-
let json = client
263-
.post("https://api.github.com/graphql")
264-
.headers(headers.clone())
265-
.body(json_query)
266-
.send()
267-
.unwrap()
268-
.json::<json::Value>()
269-
.unwrap();
270-
271-
let pull_requests_data = json["data"]["repository"]["pullRequests"].clone();
272-
273-
let mut pull_requests = pull_requests_data["nodes"]
274-
.as_array()
275-
.unwrap()
276-
.iter()
277-
.filter(|o| {
278-
let merge_date: chrono::Date<_> = o["mergedAt"]
279-
.as_str()
280-
.unwrap()
281-
.parse::<DateTime<_>>()
282-
.unwrap()
283-
.date();
284-
285-
(merge_date < end) && (merge_date > start)
286-
})
287-
.cloned()
288-
.collect::<Vec<_>>();
289-
290-
args.insert(
291-
"before",
292-
format!(
293-
"\"{}\"",
294-
pull_requests_data["pageInfo"]["startCursor"]
295-
.clone()
296-
.as_str()
297-
.unwrap()
298-
.to_owned()
299-
),
300-
);
301-
302-
if !pull_requests.is_empty() {
303-
not_found_window = false;
304-
issues.append(&mut pull_requests);
305-
} else if not_found_window {
306-
continue;
307-
} else {
308-
break issues;
309-
}
310-
}
311-
}
312-
313209
fn request_header() -> HeaderMap {
314210
use reqwest::header::*;
315211
let token = env::var("GITHUB_TOKEN").expect("Set GITHUB_TOKEN to a valid token");

0 commit comments

Comments
 (0)