|
1 | | -// Central renovate configuration for runs orchestrated by |
2 | | -// .github/workflows/renovate-schedule.yml. This file is the global config for |
3 | | -// every target repository listed in .github/renovate-repositories.json; |
4 | | -// repository-local configs (renovate.json[5], .github/renovate.json[5], ...) |
5 | | -// still apply per repository on top. |
6 | 1 | { |
7 | 2 | $schema: 'https://docs.renovatebot.com/renovate-schema.json', |
8 | | - // Commit author: intentionally NOT set via gitAuthor. The workflows run |
9 | | - // with platformCommit enabled and GitHub App tokens, so GitHub itself sets |
10 | | - // the commit author and renovate auto-discovers its own identity from |
11 | | - // whichever App's token the run uses — regardless of whether the run comes |
12 | | - // from the central sweeper or a repository-local workflow. |
13 | | - // |
14 | | - // gitIgnoredAuthors: commits with these author emails count as renovate's |
15 | | - // own when checking whether a branch was edited externally (otherwise the |
16 | | - // branch is skipped as "pr-edited"). List every GitHub App that may run |
17 | | - // renovate against the swept repositories, so branches written by one App's |
18 | | - // runs are accepted by another App's runs (e.g. central sweeper vs. |
19 | | - // repo-local runs with different credentials). A repository-level |
20 | | - // gitIgnoredAuthors REPLACES this list (non-mergeable) — repeat entries you |
21 | | - // still need. Keep the list tight: noreply author emails are spoofable. |
22 | | - // Derive an email: curl -s https://api.github.com/users/odgbot%5Bbot%5D | grep '"id"' -> <id>+<slug>[bot]@users.noreply.github.com |
23 | | - gitIgnoredAuthors: [ |
24 | | - // (bare email only: renovate compares gitIgnoredAuthors against %ae/%ce |
25 | | - // author/committer emails, never against 'Name <email>') |
26 | | - // odgbot - production central sweeper for ODG (https://github.com/apps/odgbot) |
27 | | - '319464553+odgbot[bot]@users.noreply.github.com', |
28 | | - // ocmbot - will be used later again when we expand beyond ODG |
29 | | - '125909804+ocmbot[bot]@users.noreply.github.com', |
| 3 | + extends: [ |
| 4 | + 'config:recommended', |
| 5 | + 'config:best-practices', |
| 6 | + 'helpers:pinGitHubActionDigests', |
| 7 | + 'docker:pinDigests', |
| 8 | + 'security:openssf-scorecard', |
| 9 | + ':dependencyDashboard', |
| 10 | + ':rebaseStalePrs', |
| 11 | + ], |
| 12 | + 'internalChecksFilter': 'strict', |
| 13 | + 'minimumReleaseAge': '7 days', |
| 14 | + 'branchPrefix': 'renovate/', |
| 15 | + prConcurrentLimit: 5, |
| 16 | + prHourlyLimit: 0, |
| 17 | + automerge: false, |
| 18 | + automergeType: 'pr', |
| 19 | + vulnerabilityAlerts: { |
| 20 | + minimumReleaseAge: null, |
| 21 | + automerge: false, |
| 22 | + }, |
| 23 | + packageRules: [ |
| 24 | + { |
| 25 | + // Majors wait as checkboxes in the dependency dashboard ("Pending |
| 26 | + // Approval") instead of occupying prConcurrentLimit slots - tick one |
| 27 | + // there to have its PR created when you're ready to work on it. |
| 28 | + matchUpdateTypes: ['major'], |
| 29 | + dependencyDashboardApproval: true, |
| 30 | + }, |
| 31 | + { |
| 32 | + matchUpdateTypes: ['patch'], |
| 33 | + automerge: true, |
| 34 | + }, |
| 35 | + { |
| 36 | + matchManagers: ['github-actions'], |
| 37 | + automerge: true, |
| 38 | + }, |
| 39 | + ], |
| 40 | + customManagers: [ |
| 41 | + { |
| 42 | + // Track the Renovate version used in the reusable workflow |
| 43 | + customType: 'regex', |
| 44 | + managerFilePatterns: ['.github/workflows/renovate.yml'], |
| 45 | + matchStrings: ["renovate-version:\\s*'(?<currentValue>[^'@]+)(?:@(?<currentDigest>sha256:[a-f0-9]+))?'"], |
| 46 | + depNameTemplate: 'ghcr.io/renovatebot/renovate', |
| 47 | + datasourceTemplate: 'docker', |
| 48 | + }, |
30 | 49 | ], |
31 | | - // Add org-wide defaults here, e.g.: |
32 | | - // labels: ['dependencies'], |
33 | | - // timezone: 'Europe/Berlin', |
34 | | - // schedule: ['at any time'], |
35 | 50 | } |
0 commit comments