RenovateBot

RenovateBot Config Validator

npm install --global renovate
renovate-config-validator

RenovateBot Runner

  • Add RENOVATE_TOKEN for Access to Gitlab
  • Add GITHUB_COM_TOKEN as a CI var to fetch release notes

Example Configuration

Configuration resides in renovate.json.

Common Configuration

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:base",
    "group:allNonMajor",
    "schedule:weekly",
    ":dependencyDashboard" # 
  ],
}

Ignoring Packages

{
  "ignoreDeps": ["some.package.group:package"],
}

Grouping Packages

{
  "packageRules": [
    {
      "matchPackagePatterns": [ "org.modelmapper" ],
      "groupName": "org.modelmapper"
    }
  ]
}

Supporting custom Docker Compose compose files

{
 "docker-compose": {
    "fileMatch": ["^dev.yml$", "^prod.yml$"]
  },
}

Setting a default Merge Request assignee

Assign people to the created MR

{
  "assignees": [
    "MyName"
  ],
}

Custom Regex Managers

This regex manager recognizes docker image tags inside .env files used in Docker Compose projects.

GITLAB_CE_TAG="16.6.0-ce.0" # gitlab/gitlab-ce
GITLAB_RUNNER_TAG="alpine-v16.5.0" # gitlab/gitlab-runner&versioning=regex

Renovate Configuration

{
  "regexManagers": [
    {
      "datasourceTemplate": "docker",
      "fileMatch": [
        "(^|/)\\.env$"
      ],
      "matchStrings": [
        "[A-Z_]+_TAG=\"(?<currentValue>.*)\" # (?<depName>.*?)?(\\&versioning=(?<versioning>.*?))?\\s"
      ]
    }
  ],
 "packageRules": [
    {
      "matchPackageNames": ["gitlab/gitlab-runner"],
      "versioning": "regex:^(?<compatibility>.*)-v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)?$"
    }
  ]
}