-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add ruletype for Renovate GitHub Action
Co-Authored-By: Philippe Moore <[email protected]>
- Loading branch information
1 parent
1dc6e7e
commit 1ad66ee
Showing
4 changed files
with
92 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
tests: | ||
- name: "Should have Renovate enabled" | ||
def: {} | ||
params: {} | ||
expect: "pass" | ||
git: | ||
repo_base: github_action_with_renovate | ||
- name: "Should not have Renovate enabled" | ||
def: {} | ||
params: {} | ||
expect: "fail" | ||
git: | ||
repo_base: github_action_without_renovate |
17 changes: 17 additions & 0 deletions
17
...te_github_action.testdata/github_action_with_renovate/.github/workflows/not-renovate.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Renovate | ||
on: | ||
workflow_dispatch: | ||
schedule: | ||
# Run every 15 minutes | ||
- cron: '0/15 * * * *' | ||
jobs: | ||
renovate: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] | ||
- name: Self-hosted Renovate | ||
uses: renovatebot/[email protected] | ||
with: | ||
token: ${{ secrets.RENOVATE_TOKEN }} | ||
configurationFile: renovate/renovate-config.json |
12 changes: 12 additions & 0 deletions
12
...github_action.testdata/github_action_without_renovate/.github/workflows/not-renovate.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Just Checkout | ||
on: | ||
workflow_dispatch: | ||
schedule: | ||
# Run every 15 minutes | ||
- cron: '0/15 * * * *' | ||
jobs: | ||
renovate: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
version: v1 | ||
release_phase: alpha | ||
type: rule-type | ||
name: renovate_github_action | ||
display_name: Enable Renovate for automated dependency updates | ||
short_failure_message: Renovate is not configured via a GitHub action | ||
severity: | ||
value: medium | ||
context: {} | ||
description: | | ||
Verifies that Renovate is configured via a GitHub action for the repository. | ||
guidance: | | ||
Ensure that Renovate is configured and enabled for the repository. | ||
Renovate enables automated dependency updates for repositories. | ||
It is recommended that repositories have some form of automated | ||
dependency updates enabled to ensure that vulnerabilities are not | ||
introduced into the codebase. | ||
For more information, see the [GitHub Action Renovate](https://github.com/renovatebot/github-action) documentation. | ||
def: | ||
in_entity: repository | ||
rule_schema: | ||
type: object | ||
properties: {} | ||
ingest: | ||
type: git | ||
git: {} | ||
eval: | ||
type: rego | ||
rego: | ||
type: deny-by-default | ||
def: | | ||
package minder | ||
import rego.v1 | ||
actions := github_workflow.ls_actions("./.github/workflows") | ||
default message := "Renovate GitHub action is not configured" | ||
default allow := false | ||
allow if { | ||
# check that there is a renovate action | ||
"renovatebot/github-action" in actions | ||
} | ||
# Defines the configuration for alerting on the rule | ||
alert: | ||
type: security_advisory | ||
security_advisory: {} |