Skip to content

Latest commit

 

History

History
174 lines (133 loc) · 5.28 KB

README.md

File metadata and controls

174 lines (133 loc) · 5.28 KB

Rynovate

Validate

Mildly-aggressive Renovate presets for keeping dependencies up to date.

See renovate-config-seek for a baseline preset that only maintains SEEK npm packages.

Table of contents

Presets

default

Dependencies are selectively grouped and scheduled:

Type Grouped Schedule
SEEK (select package versions) No Weekday, automerged
SEEK (rest) No Weekday
Pin dependency Yes Weekday, automerged
Go module digest update Yes Monthly
Go module version update No Monday, Friday
JavaScript dependency No Monday, Friday
JavaScript devDependency Yes Fortnightly on Tuesday
JavaScript peerDependency Yes Fortnightly on Tuesday
TypeScript definition Yes Fortnightly on Tuesday, automerged
Buildkite plugin Yes Fortnightly on Wednesday
Docker image Yes Fortnightly on Wednesday
Lock file maintenance Yes Fortnightly on Wednesday, automerged
Noisy dependency (e.g. aws-sdk) No Monthly

Pull requests are tersely named:

Type Example
Production dependency fix: pino 5.12.2
Non-production dependency deps: npm dev dependencies
Lock file maintenance deps: lock file maintenance

non-critical

Type Grouped Schedule
Gantry Buildkite plugin No Weekday
* Yes Monday
Lock file maintenance Yes Fortnightly on Wednesday, automerged
Type Example
Gantry Buildkite plugin deps: seek-jobs/gantry v1.0.0
* fix: all dependencies
Lock file maintenance deps: lock file maintenance

third-party-major

Like the default preset, but less noisy as it only monitors major updates for non-SEEK deps. Non-major Buildkite plugin and Docker image versions are still renovated.

Usage

Getting started with presets

Reference in an extends array within Renovate config:

{
  extends: [
    // Required to access private SEEK packages
    'local>seek-jobs/renovate-config',

    'github>seek-oss/rynovate',
  ],
}

Choose a named preset with a :preset suffix:

{
  extends: [
    // Required to access private SEEK packages
    'local>seek-jobs/renovate-config',

    'github>seek-oss/rynovate:non-critical'.
  ],
}

Adding your own package rules

Disable incompatible major version upgrades for a specific package:

{
  extends: [
    // Required to access private SEEK packages
    'local>seek-jobs/renovate-config',

    'github>seek-oss/rynovate',
  ],
  packageRules: [
    {
      matchManagers: ['npm'],
      matchDepNames: ['your-package-name-here'],
      matchUpdateTypes: ['major'],

      enabled: false,
    },
  ],
}

Ignore a specific package version:

{
  extends: [
    // Required to access private SEEK packages
    'local>seek-jobs/renovate-config',

    'github>seek-oss/rynovate',
  ],
  packageRules: [
    {
      matchManagers: ['npm'],
      matchDepNames: ['your-package-name-here'],

      allowedVersions: '!/^1\\.2\\.3$/',
    },
  ],
}

Ungroup a specific package that is usually grouped by the preset:

{
  extends: [
    // Required to access private SEEK packages
    'local>seek-jobs/renovate-config',

    'github>seek-oss/rynovate:non-critical',
  ],
  packageRules: [
    {
      matchManagers: ['npm'],
      matchDepNames: ['your-package-name-here'],
      matchUpdateTypes: ['major', 'minor', 'patch'],

      commitMessageExtra: '{{newValue}}',
      commitMessageTopic: '{{depName}}',
      groupName: null,
      schedule: 'before 3:00 am every weekday',
    },
  ],
}

For more information, see Renovate's comprehensive documentation of its configuration options.