-
Notifications
You must be signed in to change notification settings - Fork 7
/
renovate.json5
130 lines (119 loc) · 4.37 KB
/
renovate.json5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{
extends: [':ignoreModulesAndTests', 'helpers:disableTypesNodeMajor'],
hostRules: [
{
timeout: 120000,
},
],
// This changes the behaviour of "stabilityDays"
// - from the standard "create PR and add a stabilityDays check to it"
// - to "create PR, but do not include updates for packages which did not pass
// the stabilityDays check"
internalChecksFilter: 'strict',
dependencyDashboard: true,
// Branches prefixed with "test-all/" execute all tests.
branchPrefix: 'test-all/renovate/',
// All updates, except for the major, wait for a manual approval.
dependencyDashboardApproval: true,
dependencyDashboardHeader: '## 👋 Instructions\n\nOn Thursday morning:\n- one by one:\n - approve a PR\n - wait for green tests (or make them green)\n - merge the PR\n - wait for the release\n- order: \n - `all-major` (this PR does not need an approval, it is created automatically around 3am on Thursdays)\n - `all-minor`\n - `pin dependencies`\n - `lock file maintenance`\n\nIf something goes wrong, check [Renovate logs](https://developer.mend.io/github/AmazeeLabs/silverback-mono) first. Also, Renovate maintainers offer great support in [GitHub discussions](https://github.com/renovatebot/renovate/discussions).\n\n<sub><sup>The text above can be edited in the [Renovate config](https://github.com/AmazeeLabs/silverback-mono/blob/development/renovate.json5). The text below is generated by Renovate.</sub></sup>\n<hr>',
// Pin dependencies by default.
rangeStrategy: 'pin',
packageRules: [
// Use bump range strategy for resolutions.
{
matchPaths: ['**/package.json'],
matchDepTypes: ['resolutions'],
rangeStrategy: 'bump',
},
// Use bump range strategy for packages.
{
matchPaths: ['packages/composer/**/composer.json'],
rangeStrategy: 'bump',
},
{
matchPaths: ['packages/npm/**/package.json'],
matchDepTypes: [
'dependencies',
'peerDependencies',
'bundledDependencies',
'optionalDependencies',
],
rangeStrategy: 'bump',
},
// Standard rules.
{
matchUpdateTypes: ['major'],
groupName: 'all-major',
// Give major updates a month to stabilize.
stabilityDays: 30,
automerge: false,
// We need to automate PR creation in order to make the stabilityDays
// option work.
dependencyDashboardApproval: false,
// Drupal's security release window: Wednesdays, from 16:00 UTC to 22:00 UTC
// https://www.drupal.org/drupal-security-team/security-release-numbers-and-release-timing#s-release-timing
schedule: ['before 3am on thursday'],
},
{
matchUpdateTypes: ['minor', 'patch', 'digest'],
groupName: 'all-minor',
automerge: false,
},
{
// Do not update Node.js and the package manager.
matchDepTypes: ['engines', 'packageManager'],
enabled: false,
},
// Package-specific rules.
{
// TODO: Remove once https://www.drupal.org/project/webform is ready for
// Drupal 11.
matchUpdateTypes: ['major'],
matchPackageNames: [
'drupal/core',
'drupal/core-dev',
'drupal/core-recommended',
'drupal/core-composer-scaffold',
],
enabled: false,
},
{
matchPackageNames: [
// Something is wrong with the "unified" ecosystem.
// Example:
// package.json dependencies updated by renovate
// "remark-parse": "^10.0.2",
// "unified": "^11.0.3",
// ts file
// import remarkParse from 'remark-parse';
// import { unified } from 'unified';
// unified().use(remarkParse).parse(input);
// ^ TS errors here
'unified',
'remark-parse',
'rehype-parse',
'rehype-react',
'rehype-slug',
'mdast',
'@types/mdast',
'hast',
'@types/hast',
'hast-util-select',
],
enabled: false,
},
{
// Disable major updates for iframe-resizer-react. The old version still
// works and we have e2e tests for it. We will update if it stops working
// in modern browsers.
matchUpdateTypes: ['major'],
matchPackageNames: ['iframe-resizer-react'],
enabled: false,
},
],
lockFileMaintenance: {
enabled: true,
schedule: ['at any time'],
automerge: false,
},
}