Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create common renovate config that automates @edx namespaced minor/patch version upgrades #116

Closed
adamstankiewicz opened this issue Jul 22, 2022 · 8 comments
Assignees

Comments

@adamstankiewicz
Copy link
Member

adamstankiewicz commented Jul 22, 2022

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.

@adamstankiewicz adamstankiewicz moved this to Todo in FED-BOM Jul 22, 2022
@adamstankiewicz adamstankiewicz changed the title Create common renovate config that automates @edx namespaced minor/patch version upgrades Create common renovate config that automates @edx namespaced minor/patch version upgrades Jul 22, 2022
@adamstankiewicz adamstankiewicz changed the title Create common renovate config that automates @edx namespaced minor/patch version upgrades Create common renovate config that automates @edx namespaced minor/patch version upgrades Jul 22, 2022
@abdullahwaheed
Copy link

@adamstankiewicz should i schedule these configurations or use default or previous configurations?

@abdullahwaheed
Copy link

abdullahwaheed commented Aug 23, 2022

Repos Checklist:

@abdullahwaheed abdullahwaheed removed their assignment Sep 28, 2023
This was referenced Sep 28, 2023
@abdullahwaheed abdullahwaheed moved this from Todo to In Progress in FED-BOM Oct 10, 2023
@abdullahwaheed abdullahwaheed moved this from In Progress to Done Development in FED-BOM Oct 10, 2023
@feanil
Copy link
Contributor

feanil commented Dec 7, 2023

FYI, I got the last couple of PRs that were outstanding here merged so now all PRs listed here are merged. @abdullahwaheed I don't know if this issue can now be closed or if you have other outstanding work?

@abdullahwaheed
Copy link

yes, i think we can close it now

@github-project-automation github-project-automation bot moved this from In review to Closed in Frontend Working Group Dec 7, 2023
@github-project-automation github-project-automation bot moved this from Done Development to Done in FED-BOM Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Closed
Development

No branches or pull requests

5 participants