ampproject / ampproject/amphtml
Streamline package updates for `amphtml`
- Dominant language
- JavaScript
- Stars
- 14.9k
- Forks
- 4.1k
- PR merge metrics
- No merged PRs in 30d
Description
**Background:**
Today, `amphtml` uses https://github.com/apps/forking-renovate to regularly update all `devDependencies` (and some `dependencies`) listed in the root `package.json` file and various sub-package level files. As of today, there have been close to [~1500 update PRs](https://github.com/ampproject/amphtml/pulls/renovate-bot), all of which have been merged manually. Other than a very small number of breaking changes, all these PRs were rubber-stamp approved and merged after all CI checks were green.
**Goal:**
The purpose of this issue is to streamline the upgrade process, eliminate unnecessary manual toil, and require human intervention only while approving critical runtime dependencies or addressing breaking changes. This will build on the work done in #28322 to reduce the overall number of upgrade PRs. Here's a proposal:
- Enable automatic merging for renovate PRs via the `automerge` config setting (see [docs](https://docs.renovatebot.com/automerge-configuration/))
- Do not enable automatic merging of upgrades to AMP's `dependencies` (shipped with the runtime)
- Since AMP's PRs need one approving review, use the [`renovate-approve`](https://github.com/apps/renovate-approve) app to auto-approve PRs that pass CI checks
- Set `renovate-approve` as an [owner](https://github.com/ampproject/amphtml/blob/99c70c40ae92a247783d3e24eca7eeea0d1f75f6/OWNERS#L27-L33) of `package.json` and `package-lock.json` files
With this, upgrade PRs for `devDependencies` that pass all CI checks will be automatically approved and merged.
Contributor guide
Assessment
This issue has not been assessed yet.