Repository navigation
Expand file tree
/
Copy pathrenovate.json5
More file actions
180 lines (176 loc) 路 5.55 KB
/
Copy pathrenovate.json5
File metadata and controls
180 lines (176 loc) 路 5.55 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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
'github>pulumi/renovate-config//default.json5',
],
enabledManagers: [
// Go
'gomod',
// Node
'npm',
// Python
'pip_requirements',
'pip_setup',
'pep621',
// We don't want to update poetry pyproject.toml files. This is currently updating the `python` version in `tool.poetry.dependencies`, likely a bug in our current renovate version.
// "poetry"
// GitHub
'github-actions',
'custom.regex',
],
customManagers: [
// Update the language provider versions in `scripts/get-language-providers.sh`.
// Each entry in the LANGUAGES array is preceded by a `# renovate:` annotation
// that tells this manager which package to track.
{
customType: 'regex',
managerFilePatterns: [
'/^scripts/get-language-providers\\.sh$/',
],
matchStrings: [
'# renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)(?: extractVersion=(?<extractVersion>\\S+))?\\s+"\\S+ (?<currentValue>\\S+)"',
],
},
// Keep the yaml converter installed by the smoke tests in lockstep with the
// bundled yaml language plugin in `scripts/get-language-providers.sh`, so both
// come from the same pulumi/pulumi-yaml release.
{
customType: 'regex',
managerFilePatterns: [
'/^tests/smoke/smoke_test\\.go$/',
],
matchStrings: [
'// renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)(?: extractVersion=(?<extractVersion>\\S+))?\\s+e\\.RunCommand\\("pulumi", "plugin", "install", "converter", "\\S+", "(?<currentValue>[^"]+)"\\)',
],
},
// Update the pinned versions of unbundled language runtimes in
// `pkg/util/plugin.go`. Each entry in `knownLanguageRuntimes` is preceded by a
// `// renovate:` annotation that tells this manager which release to track.
{
customType: 'regex',
managerFilePatterns: [
'/^pkg/util/plugin\\.go$/',
],
matchStrings: [
'// renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)(?: extractVersion=(?<extractVersion>\\S+))?\\s+"[^"]+":\\s+semver\\.MustParse\\("(?<currentValue>[^"]+)"\\)',
],
},
],
// The preset's ignorePaths has `sdk/**` in it, we don't want that
// https://github.com/pulumi/renovate-config/blob/main/default.json5#L70
ignorePaths: [
'**/node_modules/**',
// Ignore package files generated by codegen and language conformance tests
'sdk/go/pulumi-language-go/testdata/**',
'sdk/python/cmd/pulumi-language-python/testdata/**',
'sdk/nodejs/cmd/pulumi-language-nodejs/testdata/**',
'tests/testdata/codegen/**',
'pkg/codegen/testing/test/**',
],
packageRules: [
{
description: 'Pin all test dependencies',
matchPackageNames: [
'*',
],
matchFileNames: [
'tests/**',
'sdk/python/lib/test/**',
'sdk/nodejs/tests/**',
'sdk/go/auto/test/**',
],
rangeStrategy: 'pin',
},
{
description: "Don't update requires-python in pyproject.toml files, we want to run against the full range of supported Python versions.",
matchDatasources: [
'python-version',
],
enabled: false,
},
{
// This does not seem to be working, `poetry` is disabled in `enabledManagers` above for now
description: "Don't update the python version in poetry dependencies in pyproject.toml files, we want to run against the full range of supported Python versions, override from base company config",
matchManagers: [
'poetry',
],
matchPackageNames: [
'python',
],
enabled: false,
},
{
description: 'Run our gomod tidy script whenever go packages are updated',
matchManagers: [
'gomod',
],
postUpgradeTasks: {
commands: [
'make renovate',
],
installTools: {
mise: {},
},
executionMode: 'branch', // Only run once per PR.
},
},
{
description: 'Disable auto-update for first party packages',
matchDatasources: [
'go',
'npm',
'pypi',
],
matchPackageNames: [
'github.com/pulumi/**',
'@pulumi/**',
'pulumi',
'pulumi-**',
],
enabled: false,
},
{
description: 'Auto-update esc',
matchDatasources: [
'go',
],
matchPackageNames: [
'github.com/pulumi/esc',
],
enabled: true,
},
{
description: 'Auto merge the language runtimes',
matchManagers: [
'custom.regex',
],
matchFileNames: [
'scripts/get-language-providers.sh',
'pkg/util/plugin.go',
'tests/smoke/smoke_test.go',
],
dependencyDashboardApproval: false,
minimumReleaseAge: '0 days',
postUpgradeTasks: {
// `make renovate` invokes `scripts/renovate-changelog.py`, which
// writes a changelog entry for each language version bump.
commands: [
'make renovate',
],
installTools: {
mise: {},
},
executionMode: 'branch', // Only run once per PR.
},
},
{
description: 'Disable updating for tests that trip up renovate',
matchFileNames: [
// Uses `pulumi package add`
// github.com/my-namespace/pulumi-mypkg/sdk/go/mypkg: cannot find module providing package github.com/my-namespace/pulumi-mypkg/sdk/go/mypkg
'tests/integration/package-add/namespace/go/**',
],
enabled: false,
},
],
}