alunduil / alunduil/zfs-replicate

Renovate automerges the update classes that do not need a human read

Abierto Apto para principiantes
#701 0 comentarios 0 reacciones 0 asignados Ver en GitHub
dependencies enhancement
Lenguaje dominante
Python
Estrellas
24
Forks
6
Merge medio
3 h 11 min
PR fusionados (30 d)
49

Descripción

## Summary

Turn on automerge in `renovate.json` for pre-commit hooks, GitHub Actions digests and pins, and the development dependency groups, at patch and minor.

## Current behaviour

`renovate.json` sets no `automerge`, so every update waits for a manual merge. #682, a `ruff-pre-commit` patch, is green on all sixteen checks and its body reads "Automerge: Disabled by config". The stale sweep in `daily.yml` exempts the `dependencies` label, so these accumulate rather than age out.

## Motivation

Renovate raises more updates than get read, and the classes it raises for pre-commit hooks, Actions digests, and development dependencies carry no runtime risk to users of the published package.

alunduil/alunduil-infrastructure#444 supplies the two things automerge needs before it is safe: required checks that cover the test suite, and a review rule Renovate can bypass without bypassing those checks. Without both, automerge would land changes on the strength of the PR-title check alone.

## Approach and alternatives

- `packageRules` with `automerge: true` for `matchManagers: ["pre-commit"]`; for `matchManagers: ["github-actions"]` at `digest`, `pin`, `pinDigest`, `minor`, and `patch`; and for the `mutation` and `test` depTypes at `minor` and `patch`.
- Runtime dependencies and every major update stay manual.
- `automergeStrategy: "squash"`, since the repository allows no other merge method.
- Leave `platformAutomerge` at its default, so GitHub performs the merge and weighs only the required checks. Renovate merging on its own waits for every check to be green, which the experimental `3.x` legs can stall.
- `minimumReleaseAge: "3 days"` already applies and does not change. Automerge does not shorten the supply-chain bake, and `internalChecksFilter` keeps the stability check gating the branch.
- Worth knowing before it surprises someone: with automerge enabled, `rebaseWhen: "auto"` starts rebasing branches that are behind the base rather than only conflicted ones.

## Scope

`renovate.json`

## Out of scope

Automerge for runtime dependencies and for majors. Grouping and scheduling (#399). The ruleset and repository settings, which live in alunduil/alunduil-infrastructure#444.

## Acceptance criteria

- [ ] Pre-commit hook, Actions digest and pin, and development-group patch and minor updates merge on their own once the gate is green
- [ ] Runtime dependency updates and all majors still wait for a manual merge
- [ ] One Renovate pull request is observed merging on its own, and its squashed commit message validates as a Conventional Commit
- [ ] If GitHub auto-merge does not fire for a bypassing app, `platformAutomerge: false` is set instead and the finding is recorded here

## Related issues

- alunduil/alunduil-infrastructure#444 makes the required checks cover the suite and exempts Renovate from review. This merges on the PR-title check alone without it.
- #700 supplies the gate context that alunduil/alunduil-infrastructure#444 pins.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start by reading renovate.json and the acceptance criteria, then check alunduil/alunduil-infrastructure#444 and #700 for the required gate context. Configure only the named pre-commit, GitHub Actions, and development-group patch/minor updates for automerge; confirm runtime and major updates remain manual, then observe a Renovate pull request merging with the required checks and a valid squashed Conventional Commit.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github-actions
Área
ci-cd, devops
Tipo de issue
Nueva funcionalidad
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Activo
Claridad
Bien especificado
Aptitud para principiantes
72/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.