chore(ci): skip perf and commits gates on Renovate-authored PRs
CI / check (pull_request) Successful in 2m40s
CI / scan (pull_request) Failing after 3m59s
CI / commits (pull_request) Successful in 3m46s
CI / a11y (pull_request) Successful in 52s
CI / perf (pull_request) Successful in 4m35s

The full CI pipeline (check, scan, commits, perf, a11y) was sized for
human PRs. On Renovate's dep-bump PRs:

- `perf` (Lighthouse build + 3-iteration median across the
  critical-routes list) costs 3-5 min per PR for a signal that is
  essentially zero on a patch/minor dep bump — the SPA today serves
  the static placeholder, and even with real routes the score on
  most bumps stays inside the median noise floor.
- `commits` re-validates messages that Renovate generates from a
  Conventional-Commits-conformant template. Tautological.

Skip both jobs when the PR author is the dedicated `apf-portal-bot`
Gitea user. The `push` event on `main` still runs the full pipeline,
so any regression a Renovate PR sneaks through is caught seconds
after merge — fast enough to revert without disruption.

ADR-0017 is amended to document the policy: the table of "where
Lighthouse CI runs" now distinguishes human PR / bot PR / push to
main; a new "Pre-merge gating policy" subsection records the
rationale and the human-takeover edge case. The §Confirmation
checklist is updated.

The docs/development.md "Reviewing Renovate PRs" subsection is
updated so contributors expect a leaner pipeline on bot PRs.
This commit is contained in:
Julien Gautier
2026-05-05 15:50:38 +02:00
parent 0c6a3f2b27
commit c78dccbae1
3 changed files with 36 additions and 9 deletions
+2 -1
View File
@@ -244,7 +244,8 @@ Repo → Actions → "Renovate" workflow → Run workflow. Useful when you've ju
### Reviewing Renovate PRs
- Each Renovate PR is gated by the same CI as a human PR — `check`, `scan`, `commits`, `perf`, `a11y`. Don't merge until all are green.
- Renovate PRs run a leaner CI pipeline than human PRs`check`, `scan`, `a11y` only. The `perf` and `commits` gates are skipped (per [ADR-0017](decisions/0017-performance-budgets-lighthouse-ci.md) — Lighthouse signal on a dep bump is essentially zero, commitlint on bot-generated messages is tautological). The full `perf` gate still runs on `push` to `main` post-merge, so regressions are caught seconds after merge rather than before.
- Don't merge until the remaining gates are green.
- The "Renovate Dependency Dashboard" issue (auto-created on first run) lists every pending update grouped by status. Use it to triage which PRs to expedite.
- For a major bump that introduces breaking changes, **don't reflexively merge**: read the changelog, then either accept the work or close the PR with a "rejected" label. Renovate respects that label and won't keep re-opening the same major.
- **Adding or removing** a dependency belongs in a feature PR, not in Renovate's scope. Renovate only updates _versions_ of existing deps.