-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Across many frontend repos in Open edX, Renovate is used to automated node_modules
dependency upgrades according to semver ranges (if applicable) defined for packages in package.json.
All of the Open edX NPM packages are prefixed with @edx
and all (should) adhere to semantic versioning in that a new major version will be published (e.g., v1
-> v2
) if a release is a breaking change for consumers.
Because of this, we could help product teams with updates to any NPM packages that are within the @edx
namespace, for example @edx/paragon
, @edx/frontend-platform
, @edx/frontend-build
, etc.
By doing so, product teams could automatically get bug fixes and new features upgraded and merged for @edx
packages, and only have to manually intervene for breaking changes (new major versions).
This could likely be implemented by creating a custom Renovate preset that each repository's renovate.json file could optionally extends. The preset could
Alternatively, a script could probably be written to modify read/update renovate.json files in a collection of checked out repositories.
Example Renovate config to automerge @edx
namespaced NPM packages for patch/minor upgrades:
{
"packageRules": [
{
"matchPackagePatterns": ["^@edx/"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true
}
]
}
If this were implemented as a custom Renovate preset, it might be worth checking if it's possible to provide an optional exclusion list so consumers of the preset can opt-out of auto-merging specific @edx
namespaced package upgrades.
CI must pass before the upgrade is merged.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status