pub struct HookConfig {
pub enabled: bool,
pub parallel: bool,
pub commands: Vec<CommandEntry>,
}Fields§
§enabled: boolWhether this hook is active. Set to false to temporarily disable.
parallel: boolRun commands concurrently within each dependency wave.
When true, commands that have no dependency relationship are started at
the same time in separate threads. Commands that share a depends link
are still serialised — the dependent command waits until all its
dependencies finish successfully.
Use this to speed up independent checks (e.g. lint + test) while keeping ordered steps (e.g. build → deploy) sequential.
Example:
hooks:
pre-push:
parallel: true
commands:
- name: lint
run: cargo clippy
- name: test
run: cargo test # runs at the same time as lintcommands: Vec<CommandEntry>Commands to run when this hook fires.
Each entry is either an inline command or a $ref to a definition.
Implementations§
Source§impl HookConfig
impl HookConfig
Sourcepub fn resolved_commands<'a>(
&'a self,
definitions: &'a BTreeMap<String, DefinitionEntry>,
) -> Vec<Command>
pub fn resolved_commands<'a>( &'a self, definitions: &'a BTreeMap<String, DefinitionEntry>, ) -> Vec<Command>
Resolve all command entries to concrete Commands by expanding $ref entries
using the given definitions map. Unknown refs are silently skipped.
$include entries are skipped here; use [resolved_commands_with_includes] to resolve them.
Sourcepub fn resolved_commands_with_includes(
&self,
definitions: &BTreeMap<String, DefinitionEntry>,
includes: &[IncludeEntry],
) -> Result<Vec<Command>>
pub fn resolved_commands_with_includes( &self, definitions: &BTreeMap<String, DefinitionEntry>, includes: &[IncludeEntry], ) -> Result<Vec<Command>>
Like [resolved_commands] but also resolves $include entries by reading
the referenced external files. Returns Err if an include cannot be resolved.
Trait Implementations§
Source§impl Clone for HookConfig
impl Clone for HookConfig
Source§fn clone(&self) -> HookConfig
fn clone(&self) -> HookConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HookConfig
impl Debug for HookConfig
Source§impl<'de> Deserialize<'de> for HookConfig
impl<'de> Deserialize<'de> for HookConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for HookConfig
impl JsonSchema for HookConfig
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more