Skip to content

Commit

Permalink
Add ruletype for Renovate GitHub Action
Browse files Browse the repository at this point in the history
Co-Authored-By: Philippe Moore <[email protected]>
  • Loading branch information
eleftherias and mesembria committed Dec 17, 2024
1 parent 1dc6e7e commit 1ad66ee
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 0 deletions.
13 changes: 13 additions & 0 deletions rule-types/github/renovate_github_action.test.yaml
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
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
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]
50 changes: 50 additions & 0 deletions rule-types/github/renovate_github_action.yaml
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: {}

0 comments on commit 1ad66ee

Please sign in to comment.