Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(config): migrate renovate config #38

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
215 changes: 119 additions & 96 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,133 +1,156 @@
// Dependency Update Configuration
//
// See https://docs.renovatebot.com/configuration-options/
// See https://json5.org/ for JSON5 syntax
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base", // https://docs.renovatebot.com/presets-config/#configbase
":semanticCommits", // https://docs.renovatebot.com/presets-default/#semanticcommits
":ignoreUnstable", // https://docs.renovatebot.com/presets-default/#ignoreunstable
"group:allNonMajor", // https://docs.renovatebot.com/presets-group/#groupallnonmajor
":separateMajorReleases", // https://docs.renovatebot.com/presets-default/#separatemajorreleases
":prConcurrentLimitNone", // View complete backlog as PRs. https://docs.renovatebot.com/presets-default/#prconcurrentlimitnone
":prNotPending", // https://docs.renovatebot.com/presets-default/#prnotpending
":prHourlyLimitNone", // https://docs.renovatebot.com/presets-default/#prhourlylimitnone
"docker:enableMajor", // https://docs.renovatebot.com/presets-docker/#dockerenablemajor
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
'config:recommended',
':semanticCommits',
':ignoreUnstable',
'group:allNonMajor',
':separateMajorReleases',
':prConcurrentLimitNone',
':prNotPending',
':prHourlyLimitNone',
'docker:enableMajor',
],

// Synchronized with a 2 week sprint cycle and outside business hours.
// https://docs.renovatebot.com/configuration-options/#schedule
"schedule": ["every 2 weeks on Saturday"],

// Give ecosystem time to catch up.
// npm allows maintainers to unpublish a release up to 3 days later.
// https://docs.renovatebot.com/configuration-options/#minimumreleaseage
"minimumReleaseAge": "3",

// Create PRs, but do not update them without manual action.
// Reduces spurious retesting in repositories that have many PRs at a time.
// https://docs.renovatebot.com/configuration-options/#rebasewhen
"rebaseWhen": "never",

// Organizational processes.
// https://docs.renovatebot.com/configuration-options/#dependencydashboardlabels
"dependencyDashboardLabels": [
"type: process",
schedule: [
'every 2 weeks on Saturday',
],
// https://docs.renovatebot.com/configuration-options/#prbodynotes
"prBodyNotes": [
"Reviewer is responsible for dependency update. Ensure adequate automated or manual testing is performed before merge.",
minimumReleaseAge: '3',
rebaseWhen: 'never',
dependencyDashboardLabels: [
'type: process',
],

"packageRules": [
// Report impact of a dependency update via PR label.
prBodyNotes: [
'Reviewer is responsible for dependency update. Ensure adequate automated or manual testing is performed before merge.',
],
packageRules: [
{
"matchUpdateTypes": ["patch"],
"addLabels": ["semver: patch"],
matchUpdateTypes: [
'patch',
],
addLabels: [
'semver: patch',
],
},
{
"matchUpdateTypes": ["minor"],
"addLabels": ["semver: minor"],
matchUpdateTypes: [
'minor',
],
addLabels: [
'semver: minor',
],
},
{
"matchUpdateTypes": ["major"],
"addLabels": ["semver: major"],
matchUpdateTypes: [
'major',
],
addLabels: [
'semver: major',
],
},

// Language-specific behaviors.
{
"matchLanguages": ["go"],
"postUpdateOptions": ["gomodTidy"],
matchCategories: [
'go',
],
postUpdateOptions: [
'gomodTidy',
],
},

// Tooling & Runtime behaviors.
{
// Covers Dockerfiles, cloudbuild.yaml, and other docker-based tools.
"groupName": "Docker Runtimes",
"matchDatasources": ["docker"],
// TODO: Uncomment if your Dockerfiles are not included in samples.
// Increases build repeatability, image cache use, and supply chain security.
// "pinDigests": true,
groupName: 'Docker Runtimes',
matchDatasources: [
'docker',
],
},
{
"groupName": "GitHub Actions",
"matchManagers": ["github-actions"],
"pinDigests": true,
groupName: 'GitHub Actions',
matchManagers: [
'github-actions',
],
pinDigests: true,
},

// Language groupings.
// These are separated to facilitate PR review by single-language experts.
{
"groupName": "go-nonmajor",
"matchLanguages": ["go"],
"matchUpdateTypes": ["minor", "patch"],
groupName: 'go-nonmajor',
matchCategories: [
'go',
],
matchUpdateTypes: [
'minor',
'patch',
],
},
{
"groupName": "python-nonmajor",
"matchLanguages": ["python"],
"matchUpdateTypes": ["minor", "patch"],
groupName: 'python-nonmajor',
matchCategories: [
'python',
],
matchUpdateTypes: [
'minor',
'patch',
],
},
{
"groupName": "java-nonmajor",
"matchLanguages": ["java"],
"matchUpdateTypes": ["minor", "patch"],
groupName: 'java-nonmajor',
matchCategories: [
'java',
],
matchUpdateTypes: [
'minor',
'patch',
],
},
{
"groupName": "js-nonmajor",
"matchLanguages": ["js"],
"matchUpdateTypes": ["minor", "patch"],
groupName: 'js-nonmajor',
matchCategories: [
'js',
],
matchUpdateTypes: [
'minor',
'patch',
],
},
{
"groupName": "nodejs-nonmajor",
"matchLanguages": ["node"],
"matchUpdateTypes": ["minor", "patch"],
groupName: 'nodejs-nonmajor',
matchCategories: [
'node',
],
matchUpdateTypes: [
'minor',
'patch',
],
},
{
"groupName": "npm-dev",
"matchManagers": ["npm"],
"matchDepTypes": ["devDependencies"],
"separateMajorMinor": false,
groupName: 'npm-dev',
matchManagers: [
'npm',
],
matchDepTypes: [
'devDependencies',
],
separateMajorMinor: false,
},
{
"groupName": "Terraform",
"matchManagers": ["terraform"],
"separateMajorMinor": false,
groupName: 'Terraform',
matchManagers: [
'terraform',
],
separateMajorMinor: false,
},

// Updating coupled ecosystems.
{
"groupName": "Playwright",
"matchPackageNames": [
"playwright",
"@playwright/test",
"mcr.microsoft.com/playwright",
groupName: 'Playwright',
matchPackageNames: [
'playwright',
'@playwright/test',
'mcr.microsoft.com/playwright',
],
},
{
"groupName": "OpenTelemetry",
"matchLanguages": ["python"],
"matchPackagePrefixes": ["opentelemetry-"],
groupName: 'OpenTelemetry',
matchCategories: [
'python',
],
matchPackageNames: [
'opentelemetry-{/,}**',
],
},
],
}
Loading