#[non_exhaustive]pub enum CheckGuard {
RequiredWorkflow,
OwnerReview {
owners: Vec<ForgeAccount>,
},
SoloOwner,
BridgePosted,
}Expand description
How the plan keeps the pull request away from its own check (§9).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RequiredWorkflow
An org ruleset requires the workflow in <org>/.vgi at a pinned
commit.
OwnerReview
Two or more owners: CODEOWNERS names them for .github/, and the
ruleset requires one approval — a code owner’s, not the last
pusher’s, dismissed by later pushes.
Fields
owners: Vec<ForgeAccount>Who may approve workflow changes. At least two.
SoloOwner
Exactly one owner: no review requirement, only the required check. The owner could weaken their own workflow — accepted, since they control the repository anyway (the user’s decision). Re-plan when a second owner arrives.
BridgePosted
The bridge posts the check under its own App, and the ruleset pins the required check to that App. No workflow is committed; one left from an earlier guard is removed.
Implementations§
Source§impl CheckGuard
impl CheckGuard
Sourcepub fn for_owners(owners: &[ForgeAccount]) -> CheckGuard
pub fn for_owners(owners: &[ForgeAccount]) -> CheckGuard
The guard for a repository with these (linked) owners, outside a required-workflow namespace. Duplicate ids count once.
Trait Implementations§
Source§impl Clone for CheckGuard
impl Clone for CheckGuard
Source§impl Debug for CheckGuard
impl Debug for CheckGuard
impl Eq for CheckGuard
Source§impl PartialEq for CheckGuard
impl PartialEq for CheckGuard
impl StructuralPartialEq for CheckGuard
Auto Trait Implementations§
impl Freeze for CheckGuard
impl RefUnwindSafe for CheckGuard
impl Send for CheckGuard
impl Sync for CheckGuard
impl Unpin for CheckGuard
impl UnsafeUnpin for CheckGuard
impl UnwindSafe for CheckGuard
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.