Skip to content

renovate-self

A schedule-driven Renovate run that scans the project's tracked dependency manifests and opens MRs for available upgrades. Designed for a daily/weekly GitLab pipeline schedule that sets RENOVATE_TASK=scan (anything else is skipped, so one schedule can drive multiple tasks if a consumer ever needs that).

Pair this component with the bundled Renovate preset at the cicd repo root — in the consumer's renovate.json / renovate.json5:

{ "extends": ["gitlab>phpboyscout/cicd"] }

That preset ships a custom manager that tracks the gitlab.com/phpboyscout/cicd/<component>@vX.Y.Z pins in .gitlab-ci.yml — so this job opens MRs to keep itself (and every other component pin) current.

Image version floor

image_version must be ≥ 39: the bundled preset's custom managers use managerFilePatterns (introduced in Renovate 39, replacing fileMatch), which older images reject with a config error that halts MR creation.

On GitLab Free, project/group access tokens are Premium-only — use a fine-grained personal access token with api + write_repository scope on the target projects, in $RENOVATE_TOKEN.

The token is aliased internally to a non-colliding variable name before being handed to Renovate via --token. A job variable RENOVATE_TOKEN: "$RENOVATE_TOKEN" (same name on both sides) collides with a group variable of that name and resolves to a broken value, authenticating with junk — see Explanation: renovate automation.

Jobs

Job What it runs
renovate-self renovate --token="$RENOVATE_TOKEN_RUNTIME", with RENOVATE_PLATFORM=gitlab, RENOVATE_AUTODISCOVER=false, RENOVATE_REPOSITORIES=$[[ inputs.repositories ]].

Inputs

Input Type Default Description
image_version string "43" renovate/renovate image tag. Must be ≥ 39 (see note above).
stage string renovate GitLab CI stage. Consumers must declare it in stages:.
repositories string (required) Single project path or JSON array of paths Renovate should manage.
if string '$CI_PIPELINE_SOURCE == "schedule" && $RENOVATE_TASK == "scan"' Gating rules:if:.
token string "$RENOVATE_TOKEN" Token Renovate uses to clone, branch, and open MRs. Needs api + write_repository.
log_level string info Renovate log level — debug when triaging.

Usage

include:
  - component: gitlab.com/phpboyscout/cicd/[email protected]
    inputs:
      repositories: '["phpboyscout/my-project"]'

See also