#[non_exhaustive]pub enum ProtectionGap {
Missing,
NotEnforced,
DefaultBranchNotCovered,
PullRequestNotRequired,
CheckNotRequired {
check: String,
},
ForcePushAllowed,
DeletionAllowed,
BypassActors {
actors: Vec<String>,
},
CheckSourceUnprotected {
detail: String,
},
UnprotectedPaths {
paths: Vec<String>,
},
MergeMethodAllowed {
method: MergeMethod,
},
CiDisabled,
}Expand description
One way the protection falls short of §5.3.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Missing
The managed rule is gone.
NotEnforced
It exists but is not enforced.
DefaultBranchNotCovered
It does not cover the default branch.
PullRequestNotRequired
Pull requests are not required.
CheckNotRequired
The check is not among the required ones.
ForcePushAllowed
Force-pushes are allowed.
DeletionAllowed
Deletion is allowed.
BypassActors
Someone can bypass it.
CheckSourceUnprotected
The check’s own workflow is within reach of the change under test: the namespace required workflow is missing, weakened or re-pinned, or the owner review that guards the repository’s workflow is off.
UnprotectedPaths
A pull request could change these paths — the workflow or the exempt keyring — and so rewrite the check it is judged by.
MergeMethodAllowed
A merge method is allowed that lands commits the check never saw (a forge-made merge, rebase or squash commit).
Fields
method: MergeMethodThe method.
CiDisabled
CI is disabled on the repository: the required check can never report.