Skip to content

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Renovate configuration

Nextest uses Renovate to keep its dependencies up-to-date. This repository contains our Renovate configuration.

Self-hosting Renovate

We use a self-hosted instance of Renovate. This is so that we can run post-upgrade commands, specifically updating the workspace-hack crate managed by cargo hakari.

Global Renovate configuration

The global (or administrator) Renovate configuration is at global-config.json (reference). Comments:

  • The list of repositories to fetch must be listed out manually.
  • While it is possible to specify repository-specific configuration in the global config, as a matter of policy we restrict global-config.json to only contain global config items. Default repository-specific configuration must go in default.json.

Repository-specific Renovate configuration

Default repository-specific configuration goes in default.json. This gets imported into repositories using Renovate's config presets feature (example):

{
    "extends": ["github>nextest-rs/renovate"]
}

Comments:

  • ignorePaths is non-additive, so if you wish to ignore a new path in a repo it's best to add it to the default ignorePaths.
  • We use the update-lockfile strategy for crates specified as x or x.y; see Renovate discussion #28280 for more.

Extra, commonly used sets of repository-specific configuration go in this repository within other files. For example, if a post-upgrade script needs to be run, check it in as an executable scripts/renovate-post-upgrade.sh (example) and import github>nextest-rs/renovate:post-upgrade.

Adding a new repository to Renovate

You must do the following three things:

  1. Add the repository to the list of repositories in global-config.json.
  2. Check in a .github/renovate.json file which extends from default.json (example).
  3. Give @nextest-bot write access to the repository in its settings.

Renovate will only manage dependencies for the repository if all three conditions are met.

About

Self-hosted renovate instance for nextest

Resources

Code of conduct

Stars

2 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors