Feature: Renovate for Dependency Management
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con la configuración propuesta de Renovate y la integración de Renovate en GitHub Marketplace; después, revisa cómo el repositorio gestiona los charts de Helm, los workflows y los lockfiles. Se considera terminado cuando una configuración de Renovate acordada está integrada, las actualizaciones de dependencias se generan según lo previsto y cualquier comportamiento de automerge está cubierto por las comprobaciones de CI del repositorio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description of the change
Similar to what I have seen, and done in other repositories, I believe it would be beneficial to get renovate on this repository.
It will generate PRs like this one for example: https://gitlab.com/GeorgeRaven/raven-helm-charts/-/merge_requests/201, so that we can automate a significant portion of the maintenance work related to updating patches etc.
I extend renovate with custom managers so we can manage the version of anything in any file using regex.
This is my generic configuration that handles 90% of my use cases in my repositories:
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"packageRules": [
{
"description": "Automerge patches",
"excludePackageNames": [],
"matchUpdateTypes": [
"patch"
],
"matchCurrentVersion": "!/^0/",
"automerge": true
}
],
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": [
"/^.*$/"
],
"matchStrings": [
"\"?v?(?<currentValue>(?<major>0|[1-9]\\d*)\\.(?<minor>0|[1-9]\\d*)\\.(?<patch>0|[1-9]\\d*)(?:-(?<prerelease>(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)\"?\\s+# renovate: datasource=(?<datasource>.*) depName=(?<depName>.*)"
],
"extractVersionTemplate": "^v?(?<version>.*)$"
}
]
}
The only thing to note is the addition of an automerge rule, this will create and automate merging of semver patches. Thus eliminating the maintenance of and keeping on top of them.
Benefits
- higher automation, reducing maintenance work
- ensures all dependencies can be managed even those in non-standard locations that might be forgotten about
- works with just about everything, helm, github workflows, lockfiles, etc
- highly configurable depending on what everyone would like to see, including automated bumping of helm package versions, when a sub-dependency is updated.
Possible drawbacks
- higher automation in particular patch automerging requires good Ci setup to ensure a high-bar of trust in merges. (This will be a seperate issue I will likely open shortly to do with kubeconform etc)
- while I can self-host it, I would probably recommend that it is added to the github repo directly via the marketplace: https://github.com/marketplace/renovate/ for long-term support.
- some level of trust is required in renovate to give it access to create branches, from which it creates PRs to the default branch (unless otherwise specified)
Additional information
There are many ways to skin the proverbial renovate cat. Please let me know what you think.
- Lenguaje dominante
- Go Template
- Estrellas
- 536
- Forks
- 316
- Merge medio
- 4 d 16 h
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nextcloud/helm
-
No native support for REDIS_USER enviroment varPosiblemente ocupada @jholmes802 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Failed to inspect imageAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
nextcloud.openmetrics.allowedClients is silently ignored unless nextcloud.configs is setPosiblemente ocupada @JanWelker la tomó hace 17 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
-
External Redis not working: redis-session.ini: Permission deniedPosiblemente ocupada @antoinetran la tomó hace 22 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
Todos los issues de nextcloud/helm
Issues similares
-
Bump .cicd to wamp-cicd 4c2f9ac: `just land` refuses open A18 decisions, `just where` lists themAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
crossbario/txaio#241 ·
-
Update org.freedesktop.PlatformAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
flathub/com.snes9x.Snes9x#129 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
alunduil/projects-v2-sync#14 ·
-
`helios / deploy`: switch zone wait in `deploy.sh` has almost no headroom over healthy startup timesPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. AbiertoTest Flake
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
oxidecomputer/omicron#11453 ·
Los mantenedores suelen responder en 1 día
-
Website: the docs site's own service worker can't install (navigateFallback "/" isn't precached)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
components-web-app/docs#173 ·