Skip to content

Commit 97baa0b

Browse files
committed
Use Zulip IDs instead of GitHub login in rfcbot issues
1 parent 402d4f8 commit 97baa0b

File tree

4 files changed

+29
-5
lines changed

4 files changed

+29
-5
lines changed

src/actions.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ use tera::{Context, Tera};
99
use crate::{
1010
github::{self, GithubClient, Repository},
1111
http_client::{CompilerMeeting, HttpClient},
12-
rfcbot,
1312
};
1413

1514
#[async_trait]
@@ -62,14 +61,20 @@ pub struct FCPConcernDetails {
6261
pub concern_url: String,
6362
}
6463

64+
#[derive(Serialize, Deserialize, Debug)]
65+
pub struct FCPReviewerDetails {
66+
pub github_login: String,
67+
pub zulip_id: Option<u64>,
68+
}
69+
6570
#[derive(Serialize, Deserialize, Debug)]
6671
pub struct FCPDetails {
6772
pub bot_tracking_comment_html_url: String,
6873
pub bot_tracking_comment_content: String,
6974
pub initiating_comment_html_url: String,
7075
pub initiating_comment_content: String,
7176
pub disposition: String,
72-
pub pending_reviewers: Vec<rfcbot::Reviewer>,
77+
pub pending_reviewers: Vec<FCPReviewerDetails>,
7378
pub concerns: Vec<FCPConcernDetails>,
7479
}
7580

src/github.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1719,6 +1719,12 @@ impl<'q> IssuesQuery for Query<'q> {
17191719
HashMap::new()
17201720
};
17211721

1722+
let zulip_map = if include_fcp_details {
1723+
Some(crate::team_data::zulip_map(client).await?)
1724+
} else {
1725+
None
1726+
};
1727+
17221728
let mut issues_decorator = Vec::new();
17231729
let re = regex::Regex::new("https://github.com/rust-lang/|/").unwrap();
17241730
let re_zulip_link = regex::Regex::new(r"\[stream\]:\s").unwrap();
@@ -1761,7 +1767,20 @@ impl<'q> IssuesQuery for Query<'q> {
17611767
pending_reviewers: fcp
17621768
.reviews
17631769
.iter()
1764-
.filter_map(|r| (!r.approved).then(|| r.reviewer.clone()))
1770+
.filter_map(|r| {
1771+
(!r.approved).then(|| crate::actions::FCPReviewerDetails {
1772+
github_login: r.reviewer.login.clone(),
1773+
zulip_id: zulip_map
1774+
.as_ref()
1775+
.map(|map| {
1776+
map.users
1777+
.iter()
1778+
.find(|&(_, &github)| github == r.reviewer.id)
1779+
.map(|v| *v.0)
1780+
})
1781+
.flatten(),
1782+
})
1783+
})
17651784
.collect(),
17661785
concerns: fcp
17671786
.concerns

src/rfcbot.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ pub struct FCP {
1515
}
1616
#[derive(Serialize, Deserialize, Debug, Clone)]
1717
pub struct Reviewer {
18-
pub id: u32,
18+
pub id: u64,
1919
pub login: String,
2020
}
2121
#[derive(Serialize, Deserialize, Debug, Clone)]

templates/_issues_rfcbot.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
{%- for issue in issues %}
55
{%- if issue.fcp_details is object %}
66
{{indent}}- {{issue.fcp_details.disposition}}: [{{issue.title}} ({{issue.repo_name}}#{{issue.number}})]({{issue.fcp_details.bot_tracking_comment_html_url}})
7-
{{indent}}{{indent}}-{% for reviewer in issue.fcp_details.pending_reviewers %} @**{{reviewer.login}}**{%else%} no pending checkboxs{% endfor %}
7+
{{indent}}{{indent}}-{% for reviewer in issue.fcp_details.pending_reviewers %} @**|{{reviewer.zulip_id}}**{%else%} no pending checkboxs{% endfor %}
88
{{indent}}{{indent}}-{% for concern in issue.fcp_details.concerns %} [{{concern.name}} (by {{concern.reviewer_login}})]({{concern.concern_url}}){%else%} no pending concerns{% endfor -%}
99
{% else %}
1010
{{indent}}- "{{issue.title}}" {{issue.repo_name}}#{{issue.number}}

0 commit comments

Comments
 (0)