|
2 | 2 | // see https://docs.renovatebot.com/configuration-options |
3 | 3 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", |
4 | 4 | "branchNameStrict": true, // remove special characters from branch names |
5 | | - "commitMessageAction": "Bump", // Bump is more similar to dependabot |
6 | 5 | "configMigration": true, // allow renovate to open PRs to update config |
7 | 6 | "constraintsFiltering": "strict", // ensure dependencies are compatible with dependency constraints |
8 | 7 | "description": "Default renovate configuration for LizardByte repositories", |
9 | | - "extends": [ |
10 | | - "config:recommended", |
11 | | - "group:recommended", |
12 | | - ], |
13 | 8 | "dependencyDashboard": true, // Creates an issue with a "dashboard" of dependencies |
14 | 9 | "dependencyDashboardLabels": [ |
15 | 10 | "dependencies" |
16 | 11 | ], |
| 12 | + "extends": [ |
| 13 | + "config:recommended", |
| 14 | + "group:recommended", |
| 15 | + ":semanticCommits", |
| 16 | + ":semanticCommitTypeAll(chore)", |
| 17 | + ], |
17 | 18 | "labels": [ |
18 | 19 | "dependencies", |
19 | 20 | "{{category}}" |
|
22 | 23 | "rollbackPrs": true, // create a rollback PR when a dependency is yanked |
23 | 24 | "schedule": [ |
24 | 25 | "after 1am", |
25 | | - "before 6am" |
| 26 | + "before 8am" |
26 | 27 | ], |
27 | 28 | "semanticCommitScope": "deps", |
28 | | - "semanticCommitType": "build", |
| 29 | + "semanticCommitType": "chore", |
29 | 30 | "semanticCommits": "enabled", |
| 31 | + "separateMultipleMajors": true, // create separate PRs for major updates |
30 | 32 | "timezone": "America/New_York", |
31 | 33 | "updatePinnedDependencies": true, |
32 | 34 | // beta features |
|
35 | 37 | }, |
36 | 38 | // group/package rules |
37 | 39 | "packageRules": [ |
| 40 | + // Keep Debian Docker tags on plain codenames or major versions, not dated rebuild tags. |
| 41 | + { |
| 42 | + "matchDatasources": ["docker"], |
| 43 | + "matchPackageNames": [ |
| 44 | + "debian", |
| 45 | + ], |
| 46 | + "matchCurrentValue": "/^(?:[a-z]+|\\d+)(?:-[a-z]+)?$/", |
| 47 | + "allowedVersions": "/^(?:[a-z]+|\\d+)(?:-[a-z]+)?$/" |
| 48 | + }, |
38 | 49 | // Group GitHub maintained actions |
39 | 50 | { |
40 | 51 | "groupName": "Official GitHub Actions", |
|
47 | 58 | "github/**" |
48 | 59 | ], |
49 | 60 | }, |
50 | | - // combine LizardByte/plexhints and pypi plexhints into a single group |
51 | | - { |
52 | | - "groupName": "plexhints", |
53 | | - "matchCategories": [ |
54 | | - "ci", |
55 | | - "python", |
56 | | - ], |
57 | | - "matchPackageNames": [ |
58 | | - "LizardByte/plexhints", |
59 | | - "plexhints", |
60 | | - ], |
61 | | - }, |
62 | 61 | // combine oddstr13/jellyfin-plugin-repository-manager and pypi jprm into a single group |
63 | 62 | { |
64 | 63 | "groupName": "jprm", |
|
71 | 70 | "jprm", |
72 | 71 | ], |
73 | 72 | }, |
74 | | - // combine plexapi and plexapi-backport into a single group |
75 | | - { |
76 | | - "groupName": "plexapi", |
77 | | - "matchCategories": [ |
78 | | - "python", |
79 | | - ], |
80 | | - "matchPackageNames": [ |
81 | | - "plexapi", |
82 | | - "plexapi-backport", |
83 | | - ], |
84 | | - }, |
85 | | - // remaining LizardByte actions |
| 73 | + ], |
| 74 | + "customManagers": [ |
| 75 | + // CPM Package Lock |
86 | 76 | { |
87 | | - "groupName": "LizardByte GitHub Actions", |
88 | | - "groupSlug": "lizardbyte-gh-actions", |
89 | | - "matchManagers": [ |
90 | | - "github-actions" |
91 | | - ], |
92 | | - "matchPackageNames": [ |
93 | | - "LizardByte/**" |
| 77 | + "customType": "regex", |
| 78 | + "managerFilePatterns": ["(^|/)package-lock\\.cmake$"], |
| 79 | + "matchStrings": [ |
| 80 | + "# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\s]+?)(?: packageName=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s+set\\([A-Za-z0-9_]+?_VERSION\\s+\\\"?(?<currentValue>[^\\\"\\s\\)]+)\\\"?\\s*\\)", |
| 81 | + "# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\s]+?)(?: packageName=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s+set\\([A-Za-z0-9_]+?_VERSION\\s+\\\"?(?<currentValue>[^\\\"\\s\\)]+)\\\"?\\s*\\)\\s+set\\([A-Za-z0-9_]+?_SHA256\\s+(?<currentDigest>[a-fA-F0-9]{64})\\s*\\)", |
94 | 82 | ], |
| 83 | + "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{/if}}" |
95 | 84 | }, |
96 | 85 | ], |
97 | 86 | } |
0 commit comments