-
Notifications
You must be signed in to change notification settings - Fork 6
/
renovate.json5
159 lines (155 loc) · 5.88 KB
/
renovate.json5
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
// Note: we use JSON5 to be able to use comments
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
extends: [
"config:base",
":disableRateLimiting",
":rebaseStalePrs"
],
"github-actions": {
enabled: false
},
bundler: {
enabled: true
},
terraform: {
enabled: false // as we don't really use real tf files, only place holder
},
baseBranches: [
"develop"
],
ruby: {
rangeStrategy: "bump"
},
packageRules: [
{
description: "@o-orand assignments",
matchPackagePatterns: [
"*"
],
assignees: [
"o-orand"
]
},
{
matchPackagePatterns: [".*"],
addLabels: ["{{datasource}}","{{depName}}"]
},
{
matchDepNames: ["paas-docker-cloudfoundry-tools"],
branchTopic: "{{{depNameSanitized}}}-commit-id", // branch name will be: renovate/paas-docker-cloudfoundry-tools-commit-id
// chore(deps): update paas-docker-cloudfoundry-tools commit-id to dbc8760 #420
// default value for commitMessage: "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}",
commitMessageTopic: "{{{depNameSanitized}}} commit-id",
prBodyNotes: [
"paas-docker-cloudfoundry-tools repository: https://github.com/orange-cloudfoundry/paas-docker-cloudfoundry-tools",
"Commits diff list: https://github.com/orange-cloudfoundry/paas-docker-cloudfoundry-tools/compare/{{{currentDigestShort}}}...{{{newDigestShort}}} ",
"Diff: https://github.com/orange-cloudfoundry/paas-docker-cloudfoundry-tools/compare/{{{currentDigestShort}}}..{{{newDigestShort}}} "
],
},
{
matchDepNames: ["cloudfoundry/bosh-cli", "concourse/concourse"],
description: "Group docker images cli bump unless it is a major version",
matchUpdateTypes: ["patch", "minor"],
addLabels: ["COA CI"]
},
{
description: "Regroup tools used during Dev & Test",
matchDepNames: [
"docker_registry2",
"github_changelog_generator",
"rubocop-rspec",
"git",
"mdl",
"rake",
"reek",
"rubocop",
"cucumber",
"rspec",
"rspec-rerun",
"simplecov"
],
separateMajorMinor: true,
addLabels: ["DevTest Tools"],
schedule: [
"after 8am on the first day of the month"
]
},
{
description: "Regroup tools related to rubocop",
matchDepNames: [
"rubocop-rspec",
"rubocop",
],
groupName: "Rubocop-Tools",
addLabels: [
"Rubocop Tools"
],
schedule: [
"after 8am on the first day of the month"
]
}
],
prHourlyLimit: 2, // Only create one PR per hour to avoid CI overflow
regexManagers: [
{
description: "Bump COA CI cli dependencies",
fileMatch: [
"Dockerfile"
],
matchStrings: [
// For dockerfile: https://regex101.com
"datasource=(?<datasource>.+) depName=(?<depName>[\\w\\d\\//\\-\\_]+)( versioning=(?<versioning>.+))?\\nARG .+_VERSION=?\\\"?(?<currentValue>[\\w\\d\\/\\-\\.\\_]+)\\\"?"
],
versioningTemplate: "regex:(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)?$",
extractVersionTemplate: "^v?(?<version>.*)$"
},
{
fileMatch: [
".*/.*\\.erb",
".*/.*\\.yml",
"spec/lib/template_processor/.*_spec\\.rb",
"spec/tasks/task_spec_helper.rb",
".*/task_spec.rb"
],
matchStrings: [
// For spec files: https://regex101.com/r/ifWHDK/2
".+_VERSION\\s*=\\s*[\\\"\\']?(?<currentDigest>[\\w\\d\\/\\-\\.\\_]+)?[\\\"\\']?\\s* #\\s*renovate: datasource=(?<datasource>github-releases) depName=(?<depName>[\\w\\d\\//\\-\\_]+)( versioning=(?<versioning>.+))?\\s*",
// template_repository/hello-world-root-depls/pipeline-sample/concourse-pipeline-config/docker-image-vars.yml
"docker-image-tag:\\s*(\\'|\\\")?(?<currentDigest>.+)(\\'|\\\")?",
// multi line *.yml
"source:.*\\n.*\\s*repository: elpaasoci\\/(cf-cli|curl-ssl|git-ssh|k8s-tools|terraform|bosh-cli-v2|spruce|spiff|awscli|bosh-cli-v2-cf-cli)\\n\\s*tag: (\\'\\\")?(?<currentDigest>.+)(\\'\\\")?",
// single line yml: https://regex101.com/r/YfHHox/1
"source:\\s*\\{\\s*repository: elpaasoci\\/(cf-cli|curl-ssl|git-ssh|k8s-tools|terraform|bosh-cli-v2|spruce|spiff|awscli|bosh-cli-v2-cf-cli),\\s*tag: (\\'\\\")?(?<currentDigest>.+)(\\'\\\")?}",
// task_spec_helper.rb - https://regex101.com/r/STu3OF/1
"def .+_default_image_version\\n\\s*\\'(?<currentDigest>.+)\\'",
// TF image bump
"EXPECTED_TERRAFORM_IMAGE_TAG\\s*=\\s*'(?<currentDigest>.+)'(\\.freeze)?"
],
currentValueTemplate: "main-validated",
depNameTemplate: "paas-docker-cloudfoundry-tools",
packageNameTemplate: "https://github.com/orange-cloudfoundry/paas-docker-cloudfoundry-tools",
datasourceTemplate: "git-refs",
versioningTemplate: "git"
},
// {
// //description: "manage all docker images used by concourse. It will detect elpassoci images but shoud not be able to detect any version published",
// description: "manage ruby docker images used by concourse",
// fileMatch: [
// ".*/.*\\.erb",
// ".*/.*\\.y(a)?ml",
// "spec/lib/template_processor/.*_spec\\.rb",
// "spec/tasks/task_spec_helper.rb",
// ".*/task_spec.rb"
// ],
// matchStrings: [
// // For concourse based files (resources and tasks): https://regex101.com/r/6ia3o9/1
// // "\\{?\\s*repository: (?<depName>[\\d\\.\\w\\-\\_\\/]+)(\\n|,|\\n.*\\n)?\\s*tag: (\\'\\\")?(?<currentValue>[\\d\\.\\w\\-\\_]+)(\\'\\\")?(})?"
// "\\{?\\s*repository: library/ruby(\\n|,|\\n.*\\n)?\\s*tag: (\\'\\\")?(?<currentValue>[\\d\\.\\w\\-\\_]+)(\\'\\\")?(})?"
//
// ],
// datasourceTemplate: "docker",
// depNameTemplate: "ruby"
// }
]
}