use serde::Deserialize; use serde::Serialize; /// The webhook_bridge.toml file that lives inside repos that have their CI triggered by webhook_bridge. #[derive(Serialize, Deserialize, Clone, Debug)] pub(crate) struct InRepoConfig { #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) version: Option, #[serde(default, skip_serializing_if = "Vec::is_empty")] pub(crate) push: Vec, } /// A config for a job that is triggered by a push to a git repo. #[derive(Serialize, Deserialize, Clone, Debug)] pub(crate) struct TriggerPush { #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) source: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub(crate) clone_uri: Option, #[serde(default, skip_serializing_if = "Vec::is_empty")] pub(crate) branches: Vec, #[serde(default, skip_serializing_if = "Vec::is_empty")] pub(crate) skip_branches: Vec, }