Files
renovate-config/config.js

131 lines
4.9 KiB
JavaScript
Raw Normal View History

2025-02-03 20:46:13 -06:00
module.exports = {
"endpoint": "https://code.mcvsoftware.com/api/v1", // replace it with your actual endpoint
"gitAuthor": "Renovate Bot <renovate-bot@mcvsoftware.com>",
"platform": "gitea",
"onboardingConfigFileName": "renovate.json",
"autodiscover": true,
2025-02-04 01:28:16 -06:00
"GITHUB_COM_TOKEN": "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",
2025-02-03 20:46:13 -06:00
"optimizeForDisabled": true,
2025-07-30 08:47:41 -06:00
"extends": [
"config:recommended",
"schedule:earlyMondays"
],
"timezone": "America/Mexico_City",
"assignees": ["manuelcortez"],
"reviewers": ["manuelcortez"],
"labels": ["renovate", "dependencies"],
// Control de concurrencia
"prConcurrentLimit": 10,
"branchConcurrentLimit": 8,
"packageRules": [
{
"description": "Flutter y Dart - agrupar updates menores",
"matchManagers": ["pub"],
"groupName": "Flutter dependencies",
"separateMinorPatch": false,
"schedule": ["before 6am on monday"]
},
{
"description": "Python requirements - agrupar patches",
"matchManagers": ["pip_requirements", "pipenv", "poetry"],
"matchUpdateTypes": ["patch"],
"groupName": "Python patches",
"automerge": true
},
{
"description": "Python minor/major - separados",
"matchManagers": ["pip_requirements", "pipenv", "poetry"],
"matchUpdateTypes": ["minor", "major"],
"separateMajorMinor": true,
"excludePackageNames": ["django", "flask"]
},
{
"description": "Django - major updates con cuidado especial",
"matchPackageNames": ["django"],
"major": {
"automerge": false,
"labels": ["breaking-change", "django-major"]
},
"minor": {
"automerge": false
}
},
{
"description": "JavaScript dev dependencies",
"matchManagers": ["npm", "yarn"],
"matchDepTypes": ["devDependencies"],
"groupName": "JS dev dependencies",
"automerge": true,
"matchUpdateTypes": ["patch", "minor"]
},
{
"description": "Docker images - weekly updates",
"matchManagers": ["docker-compose", "dockerfile"],
"schedule": ["before 6am on monday"],
"groupName": "Docker images"
},
{
"description": "Major updates - requieren review manual",
"matchUpdateTypes": ["major"],
"automerge": false,
"labels": ["major-update", "breaking-change"],
"prBody": "🚨 **MAJOR VERSION UPDATE** 🚨\n\nEste PR actualiza {{depName}} de `{{currentVersion}}` a `{{newVersion}}`.\n\n⚠ **POSIBLES BREAKING CHANGES** - Revisa:\n- [Changelog de {{depName}}]({{sourceUrl}}/releases)\n- [Documentación de migración]({{sourceUrl}})\n- Tests antes de hacer merge\n\n---\n⚡ Generado por Renovate Bot",
"addLabels": ["needs-manual-review"]
},
{
"description": "Security updates - high priority",
"matchPackagePatterns": ["*"],
"vulnerabilityAlerts": {
"enabled": true
},
"labels": ["security", "renovate"],
"automerge": false
}
],
// Configuración de automerge
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"automergeStrategy": "squash",
// Configuración de automerge por tipo de update
"major": {
"automerge": false,
"labels": ["major-update", "breaking-change"],
"prPriority": 10 // Alta prioridad para review manual
},
"minor": {
"automerge": false,
"labels": ["minor-update"]
},
"patch": {
"automerge": true,
"labels": ["patch-update"]
},
// Configuración de commits y PRs
"semanticCommits": "enabled",
"commitMessagePrefix": "chore(deps):",
"prTitle": "{{#if isPinDigest}}📌 Pin {{depName}} digest{{else}}{{#if isMajor}}🚨 MAJOR: {{else}}{{#if isMinor}}📈 MINOR: {{else}}🔧 PATCH: {{/if}}{{/if}}{{#if groupName}}{{{groupName}}}{{else}}{{depName}}{{/if}}{{#unless groupName}} to {{#if isSingleVersion}}v{{{newVersion}}}{{else}}{{{newValue}}}{{/if}}{{/unless}}{{/if}}",
// Mantenimiento de lockfiles
"lockFileMaintenance": {
"enabled": true,
"schedule": ["before 3am on the first day of the month"]
},
// Configuración de rebase y conflictos
"rebaseWhen": "conflicted",
"ignoreTests": false,
// Configuración de logs y notificaciones
"suppressNotifications": ["prIgnoreNotification"],
"gitIgnoredAuthors": ["renovate[bot]"],
"includeForks": false,
// Limitar a repos que tengan renovate.json
"onboarding": false,
"requireConfig": "optional"
2025-02-03 20:46:13 -06:00
};