ampproject / ampproject/amphtml

Streamline package updates for `amphtml`

Open
#33,959 5 comments 0 reactions 1 assignee Claimed by @rsimha View on GitHub
P2: Soon Stale Type: Feature Request WG: infra
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.