Workflow rules¶
Workflow rules validate GitHub Actions Workflow files (e.g. .github/workflows/*.yml
).
Their content is loaded as Workflow
objects.
WorkflowVisitor
allows to granularly visit each part of the workflow.
Example rule¶
See also Rules for general information about rules.
class MyWorkflowRule : VisitorRule, WorkflowVisitor {
override val issues: List<Issue> = listOf(MyIssueId)
override fun visitNormalJob(reporting: Reporting, job: Job.NormalJob) {
super.visitNormalJob(reporting, job)
if (isBad(job)) {
reporting.report(MyIssueId, job) { "${it} has a problem." }
}
}
private companion object {
val MyIssueId = Issue(
// ...
)
}
}