|
@@ -17,6 +17,7 @@ lazy_static::lazy_static! {
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
#[serde(rename_all = "kebab-case")]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct Config {
|
|
|
pub(crate) relabel: Option<RelabelConfig>,
|
|
|
pub(crate) assign: Option<AssignConfig>,
|
|
@@ -38,6 +39,7 @@ pub(crate) struct Config {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct NominateConfig {
|
|
|
// team name -> label
|
|
|
pub(crate) teams: HashMap<String, String>,
|
|
@@ -68,6 +70,7 @@ impl PingConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct PingTeamConfig {
|
|
|
pub(crate) message: String,
|
|
|
#[serde(default)]
|
|
@@ -76,6 +79,7 @@ pub(crate) struct PingTeamConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct AssignConfig {
|
|
|
/// If `true`, then posts a warning comment if the PR is opened against a
|
|
|
/// different branch than the default (usually master or main).
|
|
@@ -105,6 +109,7 @@ impl AssignConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct NoMergesConfig {
|
|
|
/// No action will be taken on PRs with these substrings in the title.
|
|
|
#[serde(default)]
|
|
@@ -121,6 +126,7 @@ pub(crate) struct NoMergesConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct NoteConfig {
|
|
|
#[serde(default)]
|
|
|
_empty: (),
|
|
@@ -133,6 +139,7 @@ pub(crate) struct MentionsConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct MentionsPathConfig {
|
|
|
pub(crate) message: Option<String>,
|
|
|
#[serde(default)]
|
|
@@ -141,18 +148,21 @@ pub(crate) struct MentionsPathConfig {
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
#[serde(rename_all = "kebab-case")]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct RelabelConfig {
|
|
|
#[serde(default)]
|
|
|
pub(crate) allow_unauthenticated: Vec<String>,
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct ShortcutConfig {
|
|
|
#[serde(default)]
|
|
|
_empty: (),
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct PrioritizeConfig {
|
|
|
pub(crate) label: String,
|
|
|
}
|
|
@@ -176,6 +186,7 @@ impl AutolabelConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct AutolabelLabelConfig {
|
|
|
#[serde(default)]
|
|
|
pub(crate) trigger_labels: Vec<String>,
|
|
@@ -196,6 +207,7 @@ pub(crate) struct NotifyZulipConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct NotifyZulipLabelConfig {
|
|
|
pub(crate) zulip_stream: u64,
|
|
|
pub(crate) topic: String,
|
|
@@ -208,6 +220,7 @@ pub(crate) struct NotifyZulipLabelConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct MajorChangeConfig {
|
|
|
/// A username (typically a group, e.g. T-lang) to ping on Zulip for newly
|
|
|
/// opened proposals.
|
|
@@ -243,18 +256,22 @@ impl MajorChangeConfig {
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct GlacierConfig {}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct CloseConfig {}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct ReviewSubmittedConfig {
|
|
|
pub(crate) review_labels: Vec<String>,
|
|
|
pub(crate) reviewed_label: String,
|
|
|
}
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct ReviewRequestedConfig {
|
|
|
pub(crate) remove_labels: Vec<String>,
|
|
|
pub(crate) add_labels: Vec<String>,
|
|
@@ -280,6 +297,7 @@ pub(crate) async fn get(
|
|
|
|
|
|
#[derive(PartialEq, Eq, Debug, serde::Deserialize)]
|
|
|
#[serde(rename_all = "kebab-case")]
|
|
|
+#[serde(deny_unknown_fields)]
|
|
|
pub(crate) struct GitHubReleasesConfig {
|
|
|
pub(crate) format: ChangelogFormat,
|
|
|
pub(crate) project_name: String,
|