|
@@ -2,473 +2,436 @@ use crate::actions::{Action, Query, QueryKind, QueryMap, Step};
|
|
|
use crate::github;
|
|
|
|
|
|
pub fn prioritization<'a>() -> Box<dyn Action> {
|
|
|
- let mut actions = Vec::new();
|
|
|
-
|
|
|
- let mut queries = Vec::new();
|
|
|
-
|
|
|
- // MCP/FCP queries
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "mcp_new_not_seconded",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["major-change", "to-announce"],
|
|
|
- exclude_labels: vec![
|
|
|
- "proposed-final-comment-period",
|
|
|
- "finished-final-comment-period",
|
|
|
- "final-comment-period",
|
|
|
- "major-change-accepted",
|
|
|
- "t-libs",
|
|
|
- "t-libs-api",
|
|
|
- ],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "mcp_old_not_seconded",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["major-change"],
|
|
|
- exclude_labels: vec![
|
|
|
- "to-announce",
|
|
|
- "proposed-final-comment-period",
|
|
|
- "finished-final-comment-period",
|
|
|
- "final-comment-period",
|
|
|
- "t-libs",
|
|
|
- "t-libs-api",
|
|
|
- ],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "in_pre_fcp",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["proposed-final-comment-period"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "in_fcp",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["final-comment-period"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "mcp_accepted",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "all")],
|
|
|
- include_labels: vec!["major-change-accepted", "to-announce"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "fcp_finished",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "all")],
|
|
|
- include_labels: vec![
|
|
|
- "finished-final-comment-period",
|
|
|
- "disposition-merge",
|
|
|
- "to-announce",
|
|
|
- ],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- actions.push(Query {
|
|
|
- repos: vec![("rust-lang", "compiler-team")],
|
|
|
- queries,
|
|
|
- });
|
|
|
-
|
|
|
- let mut queries = Vec::new();
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "in_pre_fcp",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["proposed-final-comment-period", "T-compiler"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "in_fcp",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["final-comment-period", "T-compiler"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "fcp_finished",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "all")],
|
|
|
- include_labels: vec![
|
|
|
- "finished-final-comment-period",
|
|
|
- "disposition-merge",
|
|
|
- "to-announce",
|
|
|
- ],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- actions.push(Query {
|
|
|
- repos: vec![("rust-lang", "rust")],
|
|
|
- queries,
|
|
|
- });
|
|
|
-
|
|
|
- let mut queries = Vec::new();
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "in_pre_fcp",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["proposed-final-comment-period"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "in_fcp",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["final-comment-period"],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "fcp_finished",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "all")],
|
|
|
- include_labels: vec![
|
|
|
- "finished-final-comment-period",
|
|
|
- "disposition-merge",
|
|
|
- "to-announce",
|
|
|
- ],
|
|
|
- exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- actions.push(Query {
|
|
|
- repos: vec![("rust-lang", "rust-forge")],
|
|
|
- queries,
|
|
|
- });
|
|
|
-
|
|
|
- let mut queries = Vec::new();
|
|
|
-
|
|
|
- // beta nomination queries
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "beta_nominated_t_compiler",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![],
|
|
|
- include_labels: vec!["beta-nominated", "T-compiler"],
|
|
|
- exclude_labels: vec!["beta-accepted"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "beta_nominated_t_rustdoc",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![],
|
|
|
- include_labels: vec!["beta-nominated", "T-rustdoc"],
|
|
|
- exclude_labels: vec!["beta-accepted"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- // stable nomination queries
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "stable_nominated_t_compiler",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![],
|
|
|
- include_labels: vec!["stable-nominated", "T-compiler"],
|
|
|
- exclude_labels: vec!["stable-accepted"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "stable_nominated_t_rustdoc",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![],
|
|
|
- include_labels: vec!["stable-nominated", "T-rustdoc"],
|
|
|
- exclude_labels: vec!["stable-accepted"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- // prs waiting on team queries
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "prs_waiting_on_team_t_compiler",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["S-waiting-on-team", "T-compiler"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- // issues of note queries
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_p_critical",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["T-compiler", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_unassigned_p_critical",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open"), ("no", "assignee")],
|
|
|
- include_labels: vec!["T-compiler", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_p_high",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["T-compiler", "P-high"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_unassigned_p_high",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open"), ("no", "assignee")],
|
|
|
- include_labels: vec!["T-compiler", "P-high"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_beta_p_critical",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-beta", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_beta_p_high",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-beta", "P-high"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_beta_p_medium",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-beta", "P-medium"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_beta_p_low",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-beta", "P-low"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_nightly_p_critical",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-nightly", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_nightly_p_high",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-nightly", "P-high"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_nightly_p_medium",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-nightly", "P-medium"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_nightly_p_low",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-nightly", "P-low"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_stable_p_critical",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-stable", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_stable_p_high",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-stable", "P-high"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_stable_p_medium",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-stable", "P-medium"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "issues_of_note_regression_from_stable_to_stable_p_low",
|
|
|
- kind: QueryKind::Count,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-stable", "P-low"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "p_critical_t_compiler",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["T-compiler", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "p_critical_t_rustdoc",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["T-rustdoc", "P-critical"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "beta_regressions_p_high",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["regression-from-stable-to-beta", "P-high"],
|
|
|
- exclude_labels: vec!["T-infra", "T-libs", "T-release", "T-rustdoc", "T-core"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "nightly_regressions_unassigned_p_high",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open"), ("no", "assignee")],
|
|
|
- include_labels: vec!["regression-from-stable-to-nightly", "P-high"],
|
|
|
- exclude_labels: vec!["T-infra", "T-libs", "T-release", "T-rustdoc", "T-core"],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "nominated_t_compiler",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["I-nominated", "T-compiler"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "top_unreviewed_prs",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::graphql::LeastRecentlyReviewedPullRequests),
|
|
|
- });
|
|
|
-
|
|
|
- actions.push(Query {
|
|
|
- repos: vec![("rust-lang", "rust")],
|
|
|
- queries,
|
|
|
- });
|
|
|
-
|
|
|
- // retrieve some RFCs for the T-compiler agenda
|
|
|
-
|
|
|
- let mut queries = Vec::new();
|
|
|
-
|
|
|
- // https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler
|
|
|
- queries.push(QueryMap {
|
|
|
- name: "nominated_rfcs_t_compiler",
|
|
|
- kind: QueryKind::List,
|
|
|
- query: Box::new(github::Query {
|
|
|
- filters: vec![("state", "open")],
|
|
|
- include_labels: vec!["T-compiler", "I-nominated"],
|
|
|
- exclude_labels: vec![],
|
|
|
- }),
|
|
|
- });
|
|
|
-
|
|
|
- actions.push(Query {
|
|
|
- repos: vec![("rust-lang", "rfcs")],
|
|
|
- queries,
|
|
|
- });
|
|
|
-
|
|
|
Box::new(Step {
|
|
|
name: "prioritization_agenda",
|
|
|
- actions,
|
|
|
+ actions: vec![
|
|
|
+ Query {
|
|
|
+ repos: vec![("rust-lang", "compiler-team")],
|
|
|
+ queries: vec![
|
|
|
+ // MCP/FCP queries
|
|
|
+ QueryMap {
|
|
|
+ name: "mcp_new_not_seconded",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["major-change", "to-announce"],
|
|
|
+ exclude_labels: vec![
|
|
|
+ "proposed-final-comment-period",
|
|
|
+ "finished-final-comment-period",
|
|
|
+ "final-comment-period",
|
|
|
+ "major-change-accepted",
|
|
|
+ "t-libs",
|
|
|
+ "t-libs-api",
|
|
|
+ ],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "mcp_old_not_seconded",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["major-change"],
|
|
|
+ exclude_labels: vec![
|
|
|
+ "to-announce",
|
|
|
+ "proposed-final-comment-period",
|
|
|
+ "finished-final-comment-period",
|
|
|
+ "final-comment-period",
|
|
|
+ "t-libs",
|
|
|
+ "t-libs-api",
|
|
|
+ ],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "in_pre_fcp",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["proposed-final-comment-period"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "in_fcp",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["final-comment-period"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "mcp_accepted",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "all")],
|
|
|
+ include_labels: vec!["major-change-accepted", "to-announce"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "fcp_finished",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "all")],
|
|
|
+ include_labels: vec![
|
|
|
+ "finished-final-comment-period",
|
|
|
+ "disposition-merge",
|
|
|
+ "to-announce",
|
|
|
+ ],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ Query {
|
|
|
+ repos: vec![("rust-lang", "rust")],
|
|
|
+ queries: vec![
|
|
|
+ QueryMap {
|
|
|
+ name: "in_pre_fcp",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["proposed-final-comment-period", "T-compiler"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "in_fcp",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["final-comment-period", "T-compiler"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "fcp_finished",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "all")],
|
|
|
+ include_labels: vec![
|
|
|
+ "finished-final-comment-period",
|
|
|
+ "disposition-merge",
|
|
|
+ "to-announce",
|
|
|
+ ],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ Query {
|
|
|
+ repos: vec![("rust-lang", "rust-forge")],
|
|
|
+ queries: vec![
|
|
|
+ QueryMap {
|
|
|
+ name: "in_pre_fcp",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["proposed-final-comment-period"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "in_fcp",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["final-comment-period"],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "fcp_finished",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "all")],
|
|
|
+ include_labels: vec![
|
|
|
+ "finished-final-comment-period",
|
|
|
+ "disposition-merge",
|
|
|
+ "to-announce",
|
|
|
+ ],
|
|
|
+ exclude_labels: vec!["t-libs", "t-libs-api"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ Query {
|
|
|
+ repos: vec![("rust-lang", "rust")],
|
|
|
+ queries: vec![
|
|
|
+ // beta nomination queries
|
|
|
+ QueryMap {
|
|
|
+ name: "beta_nominated_t_compiler",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![],
|
|
|
+ include_labels: vec!["beta-nominated", "T-compiler"],
|
|
|
+ exclude_labels: vec!["beta-accepted"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "beta_nominated_t_rustdoc",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![],
|
|
|
+ include_labels: vec!["beta-nominated", "T-rustdoc"],
|
|
|
+ exclude_labels: vec!["beta-accepted"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ // stable nomination queries
|
|
|
+ QueryMap {
|
|
|
+ name: "stable_nominated_t_compiler",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![],
|
|
|
+ include_labels: vec!["stable-nominated", "T-compiler"],
|
|
|
+ exclude_labels: vec!["stable-accepted"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "stable_nominated_t_rustdoc",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![],
|
|
|
+ include_labels: vec!["stable-nominated", "T-rustdoc"],
|
|
|
+ exclude_labels: vec!["stable-accepted"],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ // prs waiting on team queries
|
|
|
+ QueryMap {
|
|
|
+ name: "prs_waiting_on_team_t_compiler",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["S-waiting-on-team", "T-compiler"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ // issues of note queries
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_p_critical",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["T-compiler", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_unassigned_p_critical",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open"), ("no", "assignee")],
|
|
|
+ include_labels: vec!["T-compiler", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_p_high",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["T-compiler", "P-high"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_unassigned_p_high",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open"), ("no", "assignee")],
|
|
|
+ include_labels: vec!["T-compiler", "P-high"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_beta_p_critical",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-beta", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_beta_p_high",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-beta", "P-high"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_beta_p_medium",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-beta", "P-medium"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_beta_p_low",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-beta", "P-low"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_nightly_p_critical",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-nightly", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_nightly_p_high",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-nightly", "P-high"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_nightly_p_medium",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-nightly", "P-medium"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_nightly_p_low",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-nightly", "P-low"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_stable_p_critical",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-stable", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_stable_p_high",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-stable", "P-high"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_stable_p_medium",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-stable", "P-medium"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "issues_of_note_regression_from_stable_to_stable_p_low",
|
|
|
+ kind: QueryKind::Count,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-stable", "P-low"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "p_critical_t_compiler",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["T-compiler", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "p_critical_t_rustdoc",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["T-rustdoc", "P-critical"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "beta_regressions_p_high",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-beta", "P-high"],
|
|
|
+ exclude_labels: vec![
|
|
|
+ "T-infra",
|
|
|
+ "T-libs",
|
|
|
+ "T-release",
|
|
|
+ "T-rustdoc",
|
|
|
+ "T-core",
|
|
|
+ ],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "nightly_regressions_unassigned_p_high",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open"), ("no", "assignee")],
|
|
|
+ include_labels: vec!["regression-from-stable-to-nightly", "P-high"],
|
|
|
+ exclude_labels: vec![
|
|
|
+ "T-infra",
|
|
|
+ "T-libs",
|
|
|
+ "T-release",
|
|
|
+ "T-rustdoc",
|
|
|
+ "T-core",
|
|
|
+ ],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "nominated_t_compiler",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["I-nominated", "T-compiler"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ QueryMap {
|
|
|
+ name: "top_unreviewed_prs",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::graphql::LeastRecentlyReviewedPullRequests),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ Query {
|
|
|
+ repos: vec![("rust-lang", "rfcs")],
|
|
|
+ queries: vec![
|
|
|
+ // retrieve some RFCs for the T-compiler agenda
|
|
|
+ // https://github.com/rust-lang/rfcs/pulls?q=is%3Aopen+label%3AI-nominated+label%3AT-compiler
|
|
|
+ QueryMap {
|
|
|
+ name: "nominated_rfcs_t_compiler",
|
|
|
+ kind: QueryKind::List,
|
|
|
+ query: Box::new(github::Query {
|
|
|
+ filters: vec![("state", "open")],
|
|
|
+ include_labels: vec!["T-compiler", "I-nominated"],
|
|
|
+ exclude_labels: vec![],
|
|
|
+ }),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
})
|
|
|
}
|
|
|
|