chore(ci): skip perf and commits gates on Renovate-authored PRs #23

Merged
julien merged 1 commits from chore/ci/skip-perf-commits-on-bot-prs into main 2026-05-05 16:12:20 +02:00
Owner

Summary

Renovate's dep-bump PRs run the full pipeline today (check, scan, commits, perf, a11y). Two of those gates have near-zero signal on a typical bump and dominate the wall-clock cost:

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

Skip both when the PR author is the apf-portal-bot Gitea user. The push event on main still runs the full pipeline post-merge, so any regression caught by perf is detected seconds after merge — fast enough to revert.

Net result: Renovate PRs run check + scan + a11y only, ≈ 4-5 min faster per PR.

ADR amendment

ADR-0017 is amended in the same change:

  • "Where Lighthouse CI runs" table now distinguishes human PR / bot PR / push to main / scheduled / local.
  • New "Pre-merge gating policy: human PRs vs bot PRs" subsection records the rationale and the human-takeover edge case.
  • §Confirmation entry for perf is reworded to reflect the conditional gate.

Test plan

  • After merge, the next Renovate-triggered PR (auto-rebase or new bump) shows only check, scan, a11y queued — no perf, no commits.
  • A human-opened PR (e.g. this one) still queues all 5 gates.
  • On push to main post-merge, the full pipeline runs including perf.
## Summary Renovate's dep-bump PRs run the full pipeline today (`check`, `scan`, `commits`, `perf`, `a11y`). Two of those gates have near-zero signal on a typical bump and dominate the wall-clock cost: - **`perf`** — Lighthouse build + 3-iteration median across the critical-routes list. 3-5 min per PR for a metric that is essentially zero on a patch/minor dep bump (the SPA today serves the static placeholder; even with real routes a typical bump stays inside the median noise floor). - **`commits`** — re-validates commit messages that Renovate generates from a Conventional-Commits-conformant template. Tautological. Skip both when the PR author is the `apf-portal-bot` Gitea user. The `push` event on `main` still runs the full pipeline post-merge, so any regression caught by `perf` is detected seconds after merge — fast enough to revert. Net result: Renovate PRs run `check + scan + a11y` only, ≈ 4-5 min faster per PR. ## ADR amendment ADR-0017 is amended in the same change: - "Where Lighthouse CI runs" table now distinguishes human PR / bot PR / push to main / scheduled / local. - New "Pre-merge gating policy: human PRs vs bot PRs" subsection records the rationale and the human-takeover edge case. - §Confirmation entry for `perf` is reworded to reflect the conditional gate. ## Test plan - [ ] After merge, the next Renovate-triggered PR (auto-rebase or new bump) shows only `check`, `scan`, `a11y` queued — no `perf`, no `commits`. - [ ] A human-opened PR (e.g. this one) still queues all 5 gates. - [ ] On `push` to `main` post-merge, the full pipeline runs including `perf`.
julien added 1 commit 2026-05-05 15:57:32 +02:00
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
c78dccbae1
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.
julien merged commit f9ed3cf82a into main 2026-05-05 16:12:20 +02:00
julien deleted branch chore/ci/skip-perf-commits-on-bot-prs 2026-05-05 16:12:20 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: julien/apf_portal#23