Skip to content

TWiStErRob/renovate-config

Repository files navigation

renovate-config

Configuration files for renovatebot installed in repositories.

Naming

  • This repository is called renovate-config so it'll be picked up automatically by Renovate.
  • The shared config preset is called default.json as that's the only supported name.
  • default.json5 is the actual preset referenced from default.json, so that I can use JSON5 features.

Installation

  1. Add repository to Renovate GitHub app installation.
  2. Wait for "Configure Renovate" onboarding PR.
  3. It should automatically pick up local>TWiStErRob/renovate-config
  4. Commit and push to renovate/configure branch.
  5. Review, configure as necessary and merge PR.

Development

IntelliJ IDEA has json-schema validation and auto-complete support, so it the recommended editor.

Each file should have this as the first property to trigger automatic setup when opening files:

{
   "$schema": "https://docs.renovatebot.com/renovate-schema.json"
}

Local Testing

This will pick up config.js and will do a dry-run.

# Make sure the latest version is installed from package.json.
npm install
# Make sure renovate can read the repositories.
set RENOVATE_TOKEN=ghp_...
# Edit config.js as necessary, mostly repositories and configFilePath.
# Set up logging (see config.js for more info, why.)
set LOG_LEVEL=debug
# Execute renovate on any repository (public or private).
npm run renovate > renovate.log
ghp_...

Where ghp_... is a Personal Access Token generated at https://github.com/settings/tokens.

  • add user:email scope to reduce warnings

  • add repo scope for accessing private repositories

    --token vs set RENOVATE_TOKEN

    It's possible to pass the token on command line too:

    npm run renovate -- --token ghp_...

    but npm run will echo the command line so renovate.log will contain the key. To prevent this, use set RENOVATE_TOKEN=ghp_... instead.

Integration Testing

This means running Renovate on a repository where the configuration is hosted in the repository, and the Renovate app will process everything.

Hack around in renovate-config-test.

Documentation