• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  schedule: [
3    'before 5am on the first day of the month',
4  ],
5  semanticCommits: 'enabled',
6  configMigration: true,
7  dependencyDashboard: true,
8  customManagers: [
9    {
10      customType: 'regex',
11      fileMatch: [
12        '^rust-toolchain\\.toml$',
13        'Cargo.toml$',
14        'clippy.toml$',
15        '\\.clippy.toml$',
16        '^\\.github/workflows/ci.yml$',
17        '^\\.github/workflows/rust-next.yml$',
18      ],
19      matchStrings: [
20        'MSRV.*?(?<currentValue>\\d+\\.\\d+(\\.\\d+)?)',
21        '(?<currentValue>\\d+\\.\\d+(\\.\\d+)?).*?MSRV',
22      ],
23      depNameTemplate: 'rust',
24      packageNameTemplate: 'rust-lang/rust',
25      datasourceTemplate: 'github-releases',
26    },
27  ],
28  packageRules: [
29    {
30      commitMessageTopic: 'MSRV',
31      matchManagers: [
32        'custom.regex',
33      ],
34      matchPackageNames: [
35        'rust',
36      ],
37      minimumReleaseAge: '840 days',  // 20 releases * 6 weeks per release * 7 days per week
38      internalChecksFilter: 'strict',
39      extractVersion: '^(?<version>\\d+\\.\\d+)',  // Drop the patch version
40      schedule: [
41        '* * * * *',
42      ],
43    },
44    // Goals:
45    // - Keep version reqs low, ignoring compatible normal/build dependencies
46    // - Take advantage of latest dev-dependencies
47    // - Rollup safe upgrades to reduce CI runner load
48    // - Help keep number of versions down by always using latest breaking change
49    // - Have lockfile and manifest in-sync
50    {
51      matchManagers: [
52        'cargo',
53      ],
54      matchDepTypes: [
55        'build-dependencies',
56        'dependencies',
57      ],
58      matchCurrentVersion: '>=0.1.0',
59      matchUpdateTypes: [
60        'patch',
61      ],
62      enabled: false,
63    },
64    {
65      matchManagers: [
66        'cargo',
67      ],
68      matchDepTypes: [
69        'build-dependencies',
70        'dependencies',
71      ],
72      matchCurrentVersion: '>=1.0.0',
73      matchUpdateTypes: [
74        'minor',
75      ],
76      enabled: false,
77    },
78    {
79      matchManagers: [
80        'cargo',
81      ],
82      matchDepTypes: [
83        'dev-dependencies',
84      ],
85      matchCurrentVersion: '>=0.1.0',
86      matchUpdateTypes: [
87        'patch',
88      ],
89      automerge: true,
90      groupName: 'compatible (dev)',
91    },
92    {
93      matchManagers: [
94        'cargo',
95      ],
96      matchDepTypes: [
97        'dev-dependencies',
98      ],
99      matchCurrentVersion: '>=1.0.0',
100      matchUpdateTypes: [
101        'minor',
102      ],
103      automerge: true,
104      groupName: 'compatible (dev)',
105    },
106  ],
107}
108