Skip to content

Latest commit

 

History

History

renovate

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Appium's Renovate Configuration

Reusable Renovate config for Appium and Appium-adjacent projects

Usage

Modify your Renovate config file (renovate.json, etc.) to extend:

"github>appium/appium//renovate/default"

For example, a JSON config should contain:

{
  "extends": [
    "github>appium/appium//renovate/default"
  ]
}

If you already have a top-level extends, then append this to the list.

Notes

See the Renovate docs for more information on what does what.

Why

Appium-the-project has many repos--not just this one! We found ourselves duplicating most of this config across packages, so here's a reusable config.

Appium extension authors--or anyone else--may use this config as well.

Presets in Use

  • config:js-app - everything gets pinned except peer deps (plus a bunch of other reasonable defaults)
  • group:definitelyTyped - Groups all @types/* packages into one PR
  • workarounds:typesNodeVersioning - @types/node tracks Node.js versions instead
  • :automergeStableNonMajor - Automatically merges "patch" and "minor" updates for semver stable (>=1.0.0) packages (assuming they pass CI)
  • :automergeDigest - Automatically merges "digest" updates (assuming they pass CI)
  • :enableVulnerabilityAlerts - For "security" purposes
  • :rebaseStalePrs - Renovate will automatically rebase its PRs
  • :semanticCommits - Renovate will use semantic commit messages
  • :semanticPrefixChore - Renovate's PRs have the chore prefix in its semantic commit message

Custom Rules

  • Do not upgrade to major versions of packages which have become ESM-only. Unfortunately this is an explicit deny-list.
  • Groups (groups updates into single PR):

Note: The packages in the do-not-upgrade-majors list may or may not be used by Appium; the intent is to not remove anything from this list (unless they start publishing CJS again).

Additional Config

  • Uses the parent directory for the commit scope if applicable; otherwise uses deps. The parent directory is typically only applicable in monorepos.

License

Apache-2.0