Skip to content

Commit b0e3b8e

Browse files
committed
feat(renovate): create shared Renovate configuration files
Create shared Renovate configuration files, to be used by all repositories in the bootc-dev org. Some of the configuration has been inspired by the RedHat [github.com/platform-engineering-org/.github](https://github.com/platform-engineering-org/.github) configuration repository. Signed-off-by: Robert Sturla <[email protected]>
1 parent d158a62 commit b0e3b8e

File tree

3 files changed

+88
-29
lines changed

3 files changed

+88
-29
lines changed

renovate-config.js

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,29 @@
11
module.exports = {
2+
// Find all repositories the GitHub App token has permissions to
23
autodiscover: true,
3-
branchPrefix: 'test-renovate/',
4+
5+
// Don't create the onboarding PRs
6+
//
7+
// All repositories in the organisation will inherit the shared configuration
8+
// (./renovate-shared-config.json) by default unless they opt-out.
9+
onboarding: false,
10+
11+
// Centralise all Renovate configuration into this repository
12+
//
13+
// This allows for easier management of Renovate settings across multiple
14+
// repositories. Each individual repository can still contain their own
15+
// configuration.
16+
inheritConfig: true,
17+
inheritConfigRepoName: '{{parentOrg}}/infra',
18+
inheritConfigFileName: "renovate-shared-config.json",
19+
inheritConfigStrict: true,
20+
21+
// Prefix all branches created by Renovate with "bootc-renovate/"
22+
branchPrefix: 'bootc-renovate/',
23+
24+
// Configure Renovate to use GitHub-specific API calls
425
platform: 'github',
26+
27+
// Enable dependency updates on forked repositories in the organisation
528
forkProcessing: 'enabled',
6-
packageRules: [
7-
{
8-
description: 'lockFileMaintenance',
9-
matchUpdateTypes: [
10-
'pin',
11-
'digest',
12-
'patch',
13-
'minor',
14-
'major',
15-
'lockFileMaintenance',
16-
],
17-
dependencyDashboardApproval: false,
18-
minimumReleaseAge: '0 days',
19-
},
20-
],
2129
};

renovate-shared-config.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": [
4+
// Base configuration
5+
"config:best-practices",
6+
7+
// Add "Signed-off-by" footer to commit messages
8+
":gitSignOff",
9+
10+
// Catch-all for grouping dependencies not caught by other groups
11+
"group:all"
12+
],
13+
14+
// Rebase when there are merge conflicts
15+
//
16+
// The "conflicted" option is typically the ideal choice for most situations
17+
// where you don't want to burn CI credits, while still keeping your branch
18+
// in a mergeable state at all times.
19+
"rebaseWhen": "conflicted",
20+
21+
"packageRules": [
22+
// Group GitHub Actions dependencies
23+
{
24+
"description": "GitHub Actions dependencies",
25+
"matchManagers": ["github-actions"],
26+
"groupName": "GitHub Actions",
27+
"enabled": true
28+
},
29+
30+
// Group Rust dependencies
31+
{
32+
"description": "Rust dependencies",
33+
"matchManagers": ["cargo"],
34+
"groupName": "Rust",
35+
"enabled": true
36+
},
37+
38+
// Group Docker dependencies
39+
{
40+
"description": "Docker dependencies",
41+
"matchManagers": ["dockerfile"],
42+
"groupName": "Docker",
43+
"enabled": true
44+
},
45+
46+
// Disable Containerfile digest pinning
47+
{
48+
"description": "Containerfile digest pinning",
49+
"matchManagers": ["dockerfile"],
50+
"pinDigests": false
51+
},
52+
53+
// Disable Fedora OCI updates
54+
//
55+
// This is due to there not being an easy way to tell Renovate which
56+
// Fedora version is "stable" and which has not been released yet.
57+
{
58+
"description": "Disable Fedora OCI updates",
59+
"matchManagers": ["dockerfile"],
60+
"matchDepNames": ["quay.io/fedora/fedora"],
61+
"enabled": false
62+
}
63+
]
64+
}

renovate.json

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)