|
1 | 1 | { |
2 | | - $schema: "https://docs.renovatebot.com/renovate-schema.json", |
3 | | - extends: ["group:monorepos"], |
| 2 | + $schema: 'https://docs.renovatebot.com/renovate-schema.json', |
| 3 | + extends: ['group:monorepos'], |
4 | 4 | dependencyDashboard: true, |
5 | | - rangeStrategy: "replace", |
| 5 | + rangeStrategy: 'replace', |
| 6 | + automerge: false, |
| 7 | + |
| 8 | + // Temporary workaround for https://github.com/renovatebot/renovate/discussions/30812 |
| 9 | + ignoreScripts: false, |
6 | 10 |
|
7 | 11 | // Schedule Renovate to run during off-peak hours |
8 | | - schedule: [ |
9 | | - "after 10:00pm every weekday", |
10 | | - "before 5:00am every weekday", |
11 | | - "every weekend", |
12 | | - ], |
| 12 | + schedule: ['after 10:00pm every weekday', 'before 5:00am every weekday', 'every weekend'], |
13 | 13 | prConcurrentLimit: 8, |
14 | 14 | prHourlyLimit: 4, |
15 | | - timezone: "America/Tijuana", |
| 15 | + timezone: 'America/Tijuana', |
16 | 16 |
|
17 | 17 | // Commit and PR customization |
18 | | - commitBody: "See associated pull request for more information.", |
19 | | - semanticCommits: "enabled", |
20 | | - semanticCommitScope: "", |
21 | | - semanticCommitType: "build", |
22 | | - labels: ["area: build & ci", "action: review"], |
| 18 | + commitBody: 'See associated pull request for more information.', |
| 19 | + semanticCommits: 'enabled', |
| 20 | + semanticCommitScope: '', |
| 21 | + semanticCommitType: 'build', |
| 22 | + labels: ['area: build & ci', 'action: merge'], |
23 | 23 |
|
24 | 24 | lockFileMaintenance: { |
25 | 25 | enabled: true, |
26 | 26 | }, |
27 | 27 |
|
| 28 | + // Feature disabled: permission to enable vulnerability alerts is not granted |
| 29 | + vulnerabilityAlerts: { |
| 30 | + enabled: false, |
| 31 | + }, |
| 32 | + |
28 | 33 | // Ignored dependencies in all repositories |
29 | 34 | ignoreDeps: [ |
30 | | - "build_bazel_rules_nodejs", |
31 | | - "rules_pkg", |
32 | | - "yarn", // Yarn is copied locally in all repositories where needed. |
| 35 | + 'rules_pkg', |
| 36 | + 'yarn', // Yarn is copied locally in all repositories where needed. |
33 | 37 | ], |
| 38 | + |
| 39 | + // Renovate does not update Bazel lockfile for the time being. |
| 40 | + // Workaround for https://github.com/renovatebot/renovate/issues/25557 |
34 | 41 | postUpgradeTasks: { |
35 | | - commands: ["foo-bar-command333"], |
36 | | - fileFilters: ["MODULE.bazel.lock2"], |
37 | | - executionMode: "branch", |
| 42 | + commands: [ |
| 43 | + '.npmrc', |
| 44 | + 'pnpm install --frozen-lockfile', |
| 45 | + 'pnpm bazel mod deps --lockfile_mode=update', |
| 46 | + ], |
| 47 | + fileFilters: ['MODULE.bazel.lock'], |
| 48 | + executionMode: 'branch', |
38 | 49 | }, |
| 50 | + |
39 | 51 | packageRules: [ |
40 | | - { |
41 | | - matchDepNames: ["!zone.js"], |
42 | | - enabled: false, |
43 | | - }, |
44 | 52 | // ============================================================================ |
45 | 53 | // GENERAL GROUPING & UPDATE BEHAVIOR |
46 | 54 | // ============================================================================ |
47 | 55 |
|
48 | | - // Group all non-major updates (minor and patch) together |
| 56 | + // Rule to disable updates on branches other than 'main'. |
49 | 57 | { |
50 | | - groupName: "all non-major dependencies", |
51 | | - matchDepNames: ["*", "!node", "!pnpm", "!npm", "!yarn"], |
52 | | - matchUpdateTypes: ["digest", "patch", "minor"], |
53 | | - postUpgradeTasks: null, |
| 58 | + 'enabled': false, |
| 59 | + 'matchBaseBranches': ['!main'], |
| 60 | + 'matchDepNames': ['!node', '!pnpm', '!npm', '!yarn'], |
54 | 61 | }, |
55 | 62 |
|
| 63 | + // Group all non-major dependencies together for updates on the 'main' branch. |
| 64 | + { |
| 65 | + 'enabled': true, |
| 66 | + 'matchBaseBranches': ['main'], |
| 67 | + 'groupName': 'all non-major dependencies', |
| 68 | + 'matchDepNames': ['*', '!node', '!pnpm', '!npm', '!yarn'], |
| 69 | + 'matchUpdateTypes': ['digest', 'patch', 'minor'], |
| 70 | + }, |
56 | 71 | // ============================================================================ |
57 | 72 | // ECOSYSTEM-SPECIFIC GROUPING |
58 | 73 | // ============================================================================ |
59 | 74 |
|
60 | 75 | // Group Bazel updates |
61 | 76 | { |
62 | | - groupName: "bazel dependencies", |
63 | | - matchManagers: ["bazel"], |
| 77 | + enabled: true, |
| 78 | + groupName: 'bazel dependencies', |
| 79 | + matchManagers: ['bazel'], |
| 80 | + }, |
| 81 | + |
| 82 | + // Group GitHub Actions workflow |
| 83 | + { |
| 84 | + enabled: true, |
| 85 | + groupName: 'all github actions', |
| 86 | + matchManagers: ['github-actions'], |
64 | 87 | }, |
65 | 88 |
|
66 | 89 | // ============================================================================ |
|
69 | 92 |
|
70 | 93 | // Group updates related to Angular ecosystem across repositories |
71 | 94 | { |
72 | | - groupName: "cross-repo angular dependencies", |
73 | | - followTag: "next", |
| 95 | + enabled: true, |
| 96 | + groupName: 'cross-repo angular dependencies', |
| 97 | + followTag: 'next', |
74 | 98 | separateMajorMinor: false, |
75 | | - schedule: ["at any time"], |
| 99 | + schedule: ['at any time'], |
76 | 100 | matchPackageNames: [ |
77 | | - "@angular-devkit/**", |
78 | | - "@angular/**", |
79 | | - "@schematics/**", |
80 | | - "angular/**", |
81 | | - "ng-packagr", |
| 101 | + '@angular-devkit/**', |
| 102 | + '@angular/**', |
| 103 | + '@schematics/**', |
| 104 | + 'angular/**', |
| 105 | + 'ng-packagr', |
82 | 106 | ], |
83 | 107 | }, |
84 | 108 |
|
85 | 109 | // @angular/benchpress is not released as 'next' |
86 | 110 | { |
87 | 111 | followTag: null, |
88 | | - matchDepNames: ["@angular/benchpress"], |
| 112 | + matchDepNames: ['@angular/benchpress'], |
| 113 | + }, |
| 114 | + |
| 115 | + // Disable 'postUpdateTasks' for changes that do not effect the BAZEL lock files or generated files. |
| 116 | + { |
| 117 | + matchManagers: ['github-actions'], |
| 118 | + postUpgradeTasks: null, |
89 | 119 | }, |
90 | 120 |
|
91 | 121 | // Disable 'next' tag tracking on non-main branches |
92 | 122 | { |
93 | | - matchBaseBranches: ["!main"], |
| 123 | + matchBaseBranches: ['!main'], |
94 | 124 | followTag: null, |
95 | 125 | }, |
96 | 126 |
|
97 | 127 | // Keep minor and patch updates separate for TypeScript |
98 | 128 | { |
99 | | - matchDepNames: ["typescript"], |
| 129 | + matchDepNames: ['typescript'], |
100 | 130 | separateMinorPatch: true, |
101 | 131 | }, |
102 | 132 |
|
103 | 133 | // Group TypeScript-related packages |
104 | 134 | { |
105 | | - groupName: "typescript dependencies", |
106 | | - matchDepNames: ["typescript", "tslib"], |
| 135 | + groupName: 'typescript dependencies', |
| 136 | + matchDepNames: ['typescript', 'tslib'], |
107 | 137 | }, |
108 | 138 |
|
109 | 139 | // Limit how many times these packages get updated (They deploy each merged PR) |
110 | 140 | { |
111 | | - matchDepNames: ["renovate", "quicktype-core"], |
112 | | - schedule: ["on sunday and wednesday"], |
113 | | - }, |
114 | | - |
115 | | - // ============================================================================ |
116 | | - // WORKFLOW-SPECIFIC UPDATE RULES |
117 | | - // ============================================================================ |
118 | | - |
119 | | - // Group dependencies in the scorecard GitHub Actions workflow |
120 | | - { |
121 | | - groupName: "scorecard action dependencies", |
122 | | - matchFileNames: [".github/workflows/scorecard.yml"], |
123 | | - matchDepNames: ["*"], |
| 141 | + matchDepNames: ['renovate', 'quicktype-core', 'google-closure-compiler'], |
| 142 | + schedule: ['on sunday and wednesday'], |
124 | 143 | }, |
125 | 144 |
|
126 | 145 | // ============================================================================ |
|
130 | 149 | // Disable updates for placeholder or 0.0.0-style versions |
131 | 150 | { |
132 | 151 | enabled: false, |
133 | | - matchCurrentVersion: "/^[~^]?0\\.0\\.0-/", |
| 152 | + matchCurrentVersion: '/^[~^]?0\\.0\\.0-/', |
134 | 153 | }, |
135 | 154 |
|
136 | 155 | // Disable major updates for specified dependencies |
137 | 156 | { |
138 | 157 | enabled: false, |
139 | 158 | matchDepNames: [ |
140 | | - "@types/node", |
141 | | - "node", |
142 | | - "bazel", // bazelisk bazel verison |
143 | | - "npm", |
144 | | - "pnpm", |
145 | | - "rxjs", |
146 | | - "tslib", |
147 | | - "yarn", |
| 159 | + '@types/node', |
| 160 | + 'node', |
| 161 | + 'bazel', // bazelisk bazel version |
| 162 | + 'npm', |
| 163 | + 'rxjs', |
| 164 | + 'tslib', |
| 165 | + 'yarn', |
148 | 166 | ], |
149 | | - matchUpdateTypes: ["major"], |
| 167 | + matchUpdateTypes: ['major'], |
150 | 168 | }, |
151 | 169 |
|
152 | 170 | // Disable TypeScript major and minor updates |
153 | 171 | { |
154 | 172 | enabled: false, |
155 | | - matchDepNames: ["typescript"], |
156 | | - matchUpdateTypes: ["major", "minor"], |
| 173 | + matchDepNames: ['typescript'], |
| 174 | + matchUpdateTypes: ['major', 'minor'], |
| 175 | + }, |
| 176 | + |
| 177 | + // Rule to disable major updates on branches other than 'main'. |
| 178 | + { |
| 179 | + 'enabled': false, |
| 180 | + 'matchBaseBranches': ['!main'], |
| 181 | + 'matchUpdateTypes': ['major'], |
157 | 182 | }, |
158 | 183 | ], |
159 | 184 | } |
0 commit comments