summaryrefslogtreecommitdiffstats
path: root/.github/renovate.json5
blob: 2aee6484470edf223566705f8a1f5343bd0f468b (plain)
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
{
    "$schema": "https://docs.renovatebot.com/renovate-schema.json",
    "extends": [
        // stripped-down config:base
        ":prHourlyLimit2",
        ":prConcurrentLimit10",
        "group:monorepos",
        "group:recommended",
        "workarounds:all",
        // automerge minor updates
        ":automergeMinor",
        ":automergeBranch"
    ],
    "labels": ["📦 dependencies"],
    "semanticCommits": "enabled",
    "semanticCommitType": "build",
    "rangeStrategy": "bump",
    "rebaseWhen": "conflicted",
    "packageRules": [
        // group updates to related packages
        {
            "groupName": "clap crates",
            "matchDatasources": ["crate"],
            "matchPackagePrefixes": ["clap"]
        },
        {
            "groupName": "gitoxide crates",
            "matchDatasources": ["crate"],
            "matchPackagePrefixes": ["gix"]
        },
        {
            "groupName": "pest crates",
            "matchDatasources": ["crate"],
            "matchPackagePrefixes": ["pest"]
        },
        {
            "groupName": "toml crates",
            "matchDatasources": ["crate"],
            "matchPackagePrefixes": ["toml"]
        },
        {
            "groupName": "unicode crates",
            "matchDatasources": ["crate"],
            "matchPackagePrefixes": ["unicode"]
        },
        {
            "groupName": "dprint plugins",
            "matchPackagePrefixes": ["dprint"],
            "extends": ["schedule:weekly"]
        },
        {
            "groupName": "npm",
            "matchDatasources": ["npm"],
            "extends": ["schedule:weekly"]
        },
        // Update (rust) lockfiles weekly
        {
            "matchDatasources": ["crate"],
            "lockFileMaintenance": {
                "enabled": true,
                "extends": ["schedule:weekly"]
            }
        }
    ],
    // custom regex update managers
    "regexManagers": [
        {
            "fileMatch": ["(^|\\/)\\.?dprint.json"],
            "matchStrings": ["\"https://github.com/(?<depName>.+)/releases/download/(?<currentValue>.+)/plugin.wasm\""],
            "datasourceTemplate": "github-releases"
        },
        {
            "fileMatch": ["^(workflow-templates|\\.github\\/workflows)\\/[^/]+\\.ya?ml$"],
            "matchStrings": ["cargo install.*--version (?<currentValue>\\S+).*\\s(?<depName>\\S+)"],
            "datasourceTemplate": "crate"
        }
    ]
}