feat(checks): Renovate checks#823
Conversation
Adds an initial set of checks for Renovate equal to GH200 (REN200 is there a config) and GH210 (REN210 - basic management of GitHub Actions). Made a choice that as long as there was either Renovate or Dependabot configured, repo review should pass out of the box. To do that added DEP200 that will pass if either a Renovate or Dependabot config exists, and made REN200 and GH200 return `None` to skip them and downstream checks. Tries to read all non `package.json` locations (`package.json`), but only supports configs that can be parsed by the built in `json` library. Closes scientific-python#463 scientific-python#740
|
I manually tested against a range of repos with different renovate configs and locations, some from #463 and others randomly found by searching Github. Here are roughly the ones per format that I tried: SUPPORTED_RENOVATE_FILES = [
"renovate.json", # gulfofmaine/climatology_py_dash
"renovate.jsonc", # jumpstarter-dev/jumpstarter
"renovate.json5", # SonarSource/docker-sonarqube
".github/renovate.json", # adobe/spectrum-css
".github/renovate.jsonc",
".github/renovate.json5", # paddyroddy/.github
".gitlab/renovate.json", # zammad/zammad
".gitlab/renovate.jsonc",
".gitlab/renovate.json5",
".renovaterc", # prettier/eslint-config-prettier
".renovaterc.json", # Esri/calcite-design-system
".renovaterc.jsonc",
".renovaterc.json5",
# "package.json" # Deprecated, renovate is a field within the file
]Also
There were some of the It looks like json5 might be a relatively common config variant, but I didn't want to add a dependency for this first pass. I also only checked for directly enabling GitHub actions, or that it's in two common presets. If there are other common presets that should be included those can be added, but for less common presets, |
Adds an initial set of checks for Renovate equal to GH200 (REN200 is there a config) and GH210 (REN210 - basic management of GitHub Actions).
Made a choice that as long as there was either Renovate or Dependabot configured, repo review should pass out of the box. To do that added DEP200 that will pass if either a Renovate or Dependabot config exists, and made REN200 and GH200 return
Noneto skip them and downstream checks.Tries to read all non
package.jsonlocations (which is deprecated), but only supports configs that can be parsed by the built injsonlibrary.Closes #463 #740
📚 Documentation preview 📚: https://scientific-python-cookie--823.org.readthedocs.build/