Skip to content

Commit 9ec49d9

Browse files
authored
Merge pull request #2860 from ehuss/add-renovate
Add Renovate configuration
2 parents aa96e11 + 7dee816 commit 9ec49d9

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

.github/renovate.json5

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
schedule: ['before 5am on the first day of the month'],
3+
// Raise from default of 2 to reduce trickle.
4+
prHourlyLimit: 6,
5+
dependencyDashboard: true,
6+
// Creates PRs if this renovate config file needs updating.
7+
configMigration: true,
8+
ignorePaths: [
9+
'guide/src/for_developers/mdbook-wordcount/',
10+
],
11+
customManagers: [
12+
// Custom manager to extract the version of cargo-semver-checks from the workflow.
13+
{
14+
customType: 'regex',
15+
managerFilePatterns: [
16+
'/^.github.workflows.main.yml$/',
17+
],
18+
matchStrings: [
19+
'cargo-semver-checks.releases.download.v(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
20+
],
21+
depNameTemplate: 'cargo-semver-checks',
22+
packageNameTemplate: 'obi1kenobi/cargo-semver-checks',
23+
datasourceTemplate: 'github-releases',
24+
},
25+
],
26+
packageRules: [
27+
// The next two rules disable compatible dependency updates. I wasn't
28+
// able to get Renovate to be able to update Cargo.toml for compatible
29+
// updates only, update all transitive dependencies, and do that all
30+
// in a single PR. Instead, the `update-dependencies.sh` will handle
31+
// that.
32+
{
33+
matchManagers: ['cargo'],
34+
matchUpdateTypes: ['patch'],
35+
enabled: false,
36+
},
37+
{
38+
matchManagers: ['cargo'],
39+
matchCurrentVersion: '>=1.0.0',
40+
matchUpdateTypes: ['minor'],
41+
enabled: false,
42+
},
43+
// Allow minor updates for pre-1.0 dependencies (semver-breaking)
44+
{
45+
matchManagers: ['cargo'],
46+
matchCurrentVersion: '<1.0.0',
47+
matchUpdateTypes: ['minor'],
48+
},
49+
// Allow major updates for stable dependencies (semver-breaking)
50+
{
51+
matchManagers: ['cargo'],
52+
matchCurrentVersion: '>=1.0.0',
53+
matchUpdateTypes: ['major'],
54+
},
55+
// Update cargo-semver-checks when a new version is available.
56+
{
57+
commitMessageTopic: 'cargo-semver-checks',
58+
matchManagers: [
59+
'custom.regex',
60+
],
61+
matchDepNames: [
62+
'cargo-semver-checks',
63+
],
64+
extractVersion: '^v(?<version>\\d+\\.\\d+\\.\\d+)',
65+
schedule: [
66+
'* * * * *',
67+
],
68+
internalChecksFilter: 'strict',
69+
},
70+
]
71+
}

0 commit comments

Comments
 (0)