pub struct ComputedOutputs {Show 17 fields
pub filtered_added: Vec<u32>,
pub filtered_copied: Vec<u32>,
pub filtered_deleted: Vec<u32>,
pub filtered_modified: Vec<u32>,
pub filtered_renamed: Vec<u32>,
pub filtered_type_changed: Vec<u32>,
pub filtered_unmerged: Vec<u32>,
pub filtered_unknown: Vec<u32>,
pub other_changed: Vec<u32>,
pub other_modified: Vec<u32>,
pub other_deleted: Vec<u32>,
pub all_changed_and_modified: Vec<u32>,
pub renamed_mapping: Vec<(u32, InternedString)>,
pub rename_split_deletions: Vec<(u32, InternedString)>,
pub modified_keys: Vec<InternedString>,
pub changed_keys: Vec<InternedString>,
pub group_deploy_decisions: Vec<GroupDeployDecision>,
}Expand description
All derived output categories computed in a single pass
Fields§
§filtered_added: Vec<u32>Filtered added file indices
filtered_copied: Vec<u32>Filtered copied file indices
filtered_deleted: Vec<u32>Filtered deleted file indices
filtered_modified: Vec<u32>Filtered modified file indices
filtered_renamed: Vec<u32>Filtered renamed file indices
filtered_type_changed: Vec<u32>Filtered type-changed file indices
filtered_unmerged: Vec<u32>Filtered unmerged file indices
filtered_unknown: Vec<u32>Filtered unknown file indices
other_changed: Vec<u32>“Other changed” indices: ACMR not in filter
other_modified: Vec<u32>“Other modified” indices: ACMRD not in filter
other_deleted: Vec<u32>“Other deleted” indices: D not in filter
all_changed_and_modified: Vec<u32>All changed and modified superset
renamed_mapping: Vec<(u32, InternedString)>Rename mapping: (index, previous_path)
rename_split_deletions: Vec<(u32, InternedString)>When output_renamed_as_deleted_added is true, contains (index, previous_path) for renamed files split into deleted entries. The new name goes to filtered_added.
modified_keys: Vec<InternedString>YAML group keys that had modified matches
changed_keys: Vec<InternedString>YAML group keys that had any changed matches
group_deploy_decisions: Vec<GroupDeployDecision>Per-group deploy decisions (populated when YAML groups are present)
Implementations§
Source§impl ComputedOutputs
impl ComputedOutputs
Sourcepub fn compute(
result: &ProcessedResult,
output_renamed_as_deleted_added: bool,
) -> Self
pub fn compute( result: &ProcessedResult, output_renamed_as_deleted_added: bool, ) -> Self
Single-pass computation from a ProcessedResult
When output_renamed_as_deleted_added is true, renamed files are split:
the new path goes to filtered_added and the old path is stored in
rename_split_deletions (the consumer should include these in deleted output).
The interner parameter is used to look up group keys for concurrency tracking.
Sourcepub fn compute_with_concurrency(
result: &ProcessedResult,
output_renamed_as_deleted_added: bool,
blocked_groups: Option<&HashMap<InternedString, Vec<u64>>>,
interner: Option<&StringInterner>,
) -> Self
pub fn compute_with_concurrency( result: &ProcessedResult, output_renamed_as_deleted_added: bool, blocked_groups: Option<&HashMap<InternedString, Vec<u64>>>, interner: Option<&StringInterner>, ) -> Self
Compute with concurrency information from workflow check.
blocked_groups maps group keys to blocking run IDs.
interner resolves InternedString keys for matching.
Sourcepub fn compute_full(
result: &ProcessedResult,
output_renamed_as_deleted_added: bool,
blocked_groups: Option<&HashMap<InternedString, Vec<u64>>>,
_interner: Option<&StringInterner>,
deleted_to_destroy: bool,
) -> Self
pub fn compute_full( result: &ProcessedResult, output_renamed_as_deleted_added: bool, blocked_groups: Option<&HashMap<InternedString, Vec<u64>>>, _interner: Option<&StringInterner>, deleted_to_destroy: bool, ) -> Self
Full computation including Destroy deploy decisions.
deleted_to_destroy maps groups whose only membership is
endpoint-Deleted files to a Destroy action with
reconstruct_sha = result.base_sha.
Sourcepub fn any_changed(&self) -> bool
pub fn any_changed(&self) -> bool
Any files in the changed category (filtered)
Sourcepub fn only_changed(&self) -> bool
pub fn only_changed(&self) -> bool
Only one file in the changed category
Sourcepub fn any_modified(&self) -> bool
pub fn any_modified(&self) -> bool
Any modified files (filtered)
Sourcepub fn only_modified(&self) -> bool
pub fn only_modified(&self) -> bool
Only one modified file
Sourcepub fn has_deployable_groups(&self) -> bool
pub fn has_deployable_groups(&self) -> bool
Any groups with Deploy action
Sourcepub fn has_destroyable_groups(&self) -> bool
pub fn has_destroyable_groups(&self) -> bool
Whether any group carries a Destroy deploy decision
Sourcepub fn any_deleted(&self) -> bool
pub fn any_deleted(&self) -> bool
Any deleted files (filtered)
Sourcepub fn only_deleted(&self) -> bool
pub fn only_deleted(&self) -> bool
Only one deleted file
Auto Trait Implementations§
impl Freeze for ComputedOutputs
impl RefUnwindSafe for ComputedOutputs
impl Send for ComputedOutputs
impl Sync for ComputedOutputs
impl Unpin for ComputedOutputs
impl UnsafeUnpin for ComputedOutputs
impl UnwindSafe for ComputedOutputs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more