123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510 |
- use crate::github;
- use crate::meeting::{Meeting, Query, QueryMap, Step};
- pub fn prepare_meeting<'a>() -> Meeting<Step<'a>> {
- Meeting {
- steps: vec![
- unpri_i_prioritize(),
- regressions(),
- nominations(),
- prs_waiting_on_team(),
- agenda(),
- final_review(),
- ],
- }
- }
- pub fn unpri_i_prioritize<'a>() -> Step<'a> {
- let mut queries = Vec::new();
- queries.push(QueryMap {
- name: "unpri_i_prioritize.all",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-prioritize"],
- exclude_labels: vec!["P-critical", "P-high", "P-medium", "P-low"],
- },
- });
- queries.push(QueryMap {
- name: "unpri_i_prioritize.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-prioritize", "T-compiler"],
- exclude_labels: vec!["P-critical", "P-high", "P-medium", "P-low"],
- },
- });
- queries.push(QueryMap {
- name: "unpri_i_prioritize.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-prioritize", "libs-impl"],
- exclude_labels: vec!["P-critical", "P-high", "P-medium", "P-low"],
- },
- });
- Step {
- name: "unpri_i_prioritize",
- actions: vec![Query {
- repo: "rust-lang/rust",
- queries,
- }],
- }
- }
- pub fn regressions<'a>() -> Step<'a> {
- let mut queries = Vec::new();
- queries.push(QueryMap {
- name: "regressions.stable_to_beta",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["regression-from-stable-to-beta"],
- exclude_labels: vec![
- "P-critical",
- "P-high",
- "P-medium",
- "P-low",
- "T-infra",
- "T-release",
- "T-libs",
- ],
- },
- });
- queries.push(QueryMap {
- name: "regressions.stable_to_nightly",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["regression-from-stable-to-nightly"],
- exclude_labels: vec![
- "P-critical",
- "P-high",
- "P-medium",
- "P-low",
- "T-infra",
- "T-release",
- "T-libs",
- ],
- },
- });
- queries.push(QueryMap {
- name: "regressions.stable_to_stable",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["regression-from-stable-to-stable"],
- exclude_labels: vec![
- "P-critical",
- "P-high",
- "P-medium",
- "P-low",
- "T-infra",
- "T-release",
- "T-libs",
- ],
- },
- });
- Step {
- name: "regressions",
- actions: vec![Query {
- repo: "rust-lang/rust",
- queries,
- }],
- }
- }
- pub fn nominations<'a>() -> Step<'a> {
- let mut queries = Vec::new();
- queries.push(QueryMap {
- name: "nominations.stable_nominated",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["stable-nominated"],
- exclude_labels: vec!["stable-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "nominations.beta_nominated",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["beta-nominated"],
- exclude_labels: vec!["beta-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "nominations.i_nominated",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-nominated"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "nominations.i_nominated_t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-nominated", "T-compiler"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "nominations.i_nominated_libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-nominated", "libs-impl"],
- exclude_labels: vec![],
- },
- });
- Step {
- name: "nominations",
- actions: vec![Query {
- repo: "rust-lang/rust",
- queries,
- }],
- }
- }
- pub fn prs_waiting_on_team<'a>() -> Step<'a> {
- let mut queries = Vec::new();
- queries.push(QueryMap {
- name: "prs_waiting_on_team.all",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["S-waiting-on-team"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "prs_waiting_on_team.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["S-waiting-on-team", "T-compiler"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "prs_waiting_on_team.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["S-waiting-on-team", "libs-impl"],
- exclude_labels: vec![],
- },
- });
- Step {
- name: "prs_waiting_on_team",
- actions: vec![Query {
- repo: "rust-lang/rust",
- queries,
- }],
- }
- }
- pub fn agenda<'a>() -> Step<'a> {
- let mut queries = Vec::new();
- let mut actions = Vec::new();
- queries.push(QueryMap {
- name: "mcp.seconded",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["major-change", "final-comment-period"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "mcp.new_not_seconded",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["major-change", "to-announce"],
- exclude_labels: vec!["final-comment-period"],
- },
- });
- queries.push(QueryMap {
- name: "mcp.old_not_seconded",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["major-change"],
- exclude_labels: vec!["to-announce", "final-comment-period"],
- },
- });
- actions.push(Query {
- repo: "rust-lang/compiler-team",
- queries,
- });
- let mut queries = Vec::new();
- queries.push(QueryMap {
- name: "beta_nominated.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["beta-nominated", "T-compiler"],
- exclude_labels: vec!["beta-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "beta_nominated.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["beta-nominated", "libs-impl"],
- exclude_labels: vec!["beta-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "beta_nominated.t_rustdoc",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["beta-nominated", "T-rustdoc"],
- exclude_labels: vec!["beta-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "stable_nominated.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["stable-nominated", "T-compiler"],
- exclude_labels: vec!["stable-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "stable_nominated.t_rustdoc",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["stable-nominated", "T-rustdoc"],
- exclude_labels: vec!["stable-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "stable_nominated.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![],
- include_labels: vec!["stable-nominated", "libs-impl"],
- exclude_labels: vec!["stable-accepted"],
- },
- });
- queries.push(QueryMap {
- name: "prs_waiting_on_team.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["S-waiting-on-team", "T-compiler"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "prs_waiting_on_team.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["S-waiting-on-team", "libs-impl"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "issues_of_note.p_critical",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["T-compiler", "P-critical"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "issues_of_note.unassigned_p_critical",
- query: github::Query {
- kind: github::QueryKind::List,
- 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",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["T-compiler", "P-high"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "issues_of_note.unassigned_p_high",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open"), ("no", "assignee")],
- include_labels: vec!["T-compiler", "P-high"],
- exclude_labels: vec![],
- },
- });
- // - [N regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable)
- // - [M of those are not prioritized](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-stable+-label%3AP-critical+-label%3AP-high+-label%3AP-medium+-label%3AP-low).
- //
- // There are N (more|less) `P-critical` issues and M (more|less) `P-high` issues in comparison with last week.
- queries.push(QueryMap {
- name: "issues_of_note.regression_from_stable_to_beta",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["regression-from-stable-to-beta"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "issues_of_note.regression_from_stable_to_nightly",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["regression-from-stable-to-nightly"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "issues_of_note.regression_from_stable_to_stable",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["regression-from-stable-to-stable"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "p_critical.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["T-compiler", "P-critical"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "p_critical.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["libs-impl", "P-critical"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "p_critical.t_rustdoc",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["T-rustdoc", "P-critical"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "beta_regressions.unassigned_p_high",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open"), ("no", "assignee")],
- include_labels: vec!["regression-from-stable-to-beta", "P-high"],
- exclude_labels: vec!["T-infra", "T-release"],
- },
- });
- queries.push(QueryMap {
- name: "nightly_regressions.unassigned_p_high",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open"), ("no", "assignee")],
- include_labels: vec!["regression-from-stable-to-nightly", "P-high"],
- exclude_labels: vec!["T-infra", "T-release"],
- },
- });
- queries.push(QueryMap {
- name: "i_nominated.t_compiler",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-nominated", "T-compiler"],
- exclude_labels: vec![],
- },
- });
- queries.push(QueryMap {
- name: "i_nominated.libs_impl",
- query: github::Query {
- kind: github::QueryKind::List,
- filters: vec![("state", "open")],
- include_labels: vec!["I-nominated", "libs-impl"],
- exclude_labels: vec![],
- },
- });
- actions.push(Query {
- repo: "rust-lang/rust",
- queries,
- });
- Step {
- name: "agenda",
- actions,
- }
- }
- pub fn final_review<'a>() -> Step<'a> {
- Step {
- name: "final_review",
- actions: vec![],
- }
- }
|