131 lines
4.9 KiB
JavaScript
131 lines
4.9 KiB
JavaScript
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,
|
||
"GITHUB_COM_TOKEN": "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",
|
||
"optimizeForDisabled": true,
|
||
"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"
|
||
}; |