-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Expand file tree
/
Copy pathrenovate.json5
More file actions
166 lines (166 loc) · 5.74 KB
/
Copy pathrenovate.json5
File metadata and controls
166 lines (166 loc) · 5.74 KB
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["config:base", ":semanticCommitTypeAll(chore)"],
packageRules: [
{
// Group these two as they may rely on one another during major version bumps
matchPackageNames: ["actions/download-artifact", "actions/upload-artifact"],
groupName: "Download + Upload Artifacts"
},
{
matchPackagePatterns: ["@stencil/core", "@stencil/sass"],
groupName: "stencil",
matchFileNames: [
"core/package.json"
]
},
{
matchPackagePatterns: ["@stencil/angular-output-target", "@stencil/react-output-target", "@stencil/vue-output-target"],
groupName: "stencil-output-targets",
matchFileNames: [
"core/package.json"
]
},
// TODO(ROU-11172): unpin React output target version
{
matchPackageNames: ["@stencil/react-output-target"],
matchFileNames: [
"core/package.json"
],
allowedVersions: ["<=0.5.3"]
},
{
matchPackagePatterns: ["@capacitor/core", "@capacitor/keyboard", "@capacitor/haptics", "@capacitor/status-bar"],
groupName: "capacitor",
matchFileNames: [
"core/package.json"
]
},
{
matchDatasources: ["npm"],
matchPackageNames: ["@playwright/test", "@axe-core/playwright", "playwright-core"],
groupName: "playwright",
matchFileNames: [
"core/package.json",
"core/Dockerfile"
],
"rangeStrategy": "bump",
/**
* The mcr.microsoft.com/playwright Docker image is usually published
* about a day after the npm release. Waiting a few days before opening
* the PR gives the image time to appear, so the Dockerfile bump has a
* valid tag to point at. Both files are driven by the npm datasource
* (refer to customManagers below), so they always bump together.
*
* If the Docker build still fails because the tag does not exist yet,
* the image has not been published for this release. To fix it, confirm
* the image is available, then re-run the failed CI job. No code change
* is needed because the tag is already correct; the registry just needs
* time to catch up.
*/
minimumReleaseAge: "3 days"
},
{
/**
* The built-in Docker manager tracks the mcr.microsoft.com/playwright tag
* against the container registry, which lags the npm release by about a day.
* That lag decouples the Dockerfile from the npm bump: the update either
* arrives as its own PR or has to be folded into the grouped PR with a
* manual rebase. Disable it and drive the tag from the npm datasource
* instead (refer to customManagers below) so the Dockerfile and
* core/package.json bump together.
*/
matchDatasources: ["docker"],
matchPackageNames: ["mcr.microsoft.com/playwright"],
matchFileNames: [
"core/Dockerfile"
],
enabled: false
},
{
matchPackagePatterns: ["ionicons"],
groupName: "ionicons",
matchFileNames: [
"core/package.json"
]
},
/**
* While we update dependencies in certain directories, we currently
* do not want to update every single dependency. Some of the dependencies are
* very out of date, and the team needs to schedule work to account for
* breaking changes in some of these updates. To potentially avoid a large number of
* failing PRs the team has chosen to selectively enable dependencies to be updated
* as we have capacity to account for breaking changes.
*/
{
matchPackagePatterns: ["tslib", "@ionic/", "@rollup/", "@types/", "@typescript-eslint/", "clean-css-cli", "domino", "eslint", "eslint-config-prettier", "execa", "fs-extra", "jest", "jest-cli", "prettier", "puppeteer", "rollup", "sass", "serve", "stylelint", "stylelint-order"],
groupName: "core-disabled",
matchFileNames: [
"core/package.json"
],
enabled: false
},
/**
* Local Ionic dependencies are managed by the
* workspace to ensure the correct local version is used.
*/
{
matchPackagePatterns: ["@ionic/", "ionicons"],
groupName: "ignore-local-ionic-deps",
matchFileNames: [
"**/package.json"
],
enabled: false
},
{
matchPackagePatterns: ["lerna", "semver"],
groupName: "root-disabled",
matchFileNames: [
"package.json"
],
enabled: false
},
{
/**
* Group Node version updates into a single PR to update
* the workflows and core package.json simultaneously.
*/
matchDatasources: ["node-version"],
matchPackagePatterns: ["node"],
groupName: "node-version-updates"
}
],
customManagers: [
{
/**
* Bump the Playwright Docker image tag in core/Dockerfile from the npm
* @playwright/test release instead of the container registry. The image
* tag mirrors the npm version (for example v1.62.0), so this keeps the
* Dockerfile and core/package.json in lockstep within a single PR.
*/
customType: "regex",
managerFilePatterns: ["core/Dockerfile"],
matchStrings: ["mcr\\.microsoft\\.com/playwright:v(?<currentValue>\\S+)"],
depNameTemplate: "@playwright/test",
datasourceTemplate: "npm",
versioningTemplate: "npm"
}
],
dependencyDashboard: false,
rebaseWhen: "never",
schedule: ["every weekday before 11am"],
semanticCommits: "enabled",
ignorePaths: [
// Ionic Packages
"packages/angular",
"packages/angular-server",
"packages/react",
"packages/react-router",
"packages/vue",
"packages/vue-router",
"docs",
// Local Development Scripts
"core/custom-rules",
"core/scripts"
]
}