Files
ersatztv/renovate.json
2430927b40
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 2m8s
Build ErsatzTV Image / Build & push image (amd64) (push) Successful in 3m41s
ci(renovate): enable Dockerfile manager for the HTTP Gitea registry
Turn on the `dockerfile` manager so Renovate also proposes base-image bumps for
docker/Dockerfile (mcr.microsoft.com/dotnet/* and our internal
192.168.1.95:3000/timothy/ersatztv-ffmpeg). The internal registry is HTTP-only,
so the workflow passes a host rule (insecureRegistry + registry read creds reused
from REGISTRY_USER/REGISTRY_PASSWORD) via RENOVATE_HOST_RULES — kept in the
workflow env, not in the committed renovate.json.

- Scope: only the built amd64 docker/Dockerfile; the vestigial upstream
  arm32v7/arm64/ffmpeg-tests Dockerfiles (archived ghcr base) are disabled.
- Group mcr.microsoft.com/dotnet/* base images into one PR.
- Compose files are build-only (no image tags) -> docker-compose manager not needed.

refs server-management#484

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 00:18:47 +00:00

87 lines
2.8 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"timezone": "Europe/Brussels",
"semanticCommits": "enabled",
"dependencyDashboard": true,
"labels": ["dependencies"],
"enabledManagers": ["nuget", "github-actions", "dockerfile"],
"osvVulnerabilityAlerts": true,
"vulnerabilityAlerts": {
"labels": ["dependencies", "security"]
},
"prConcurrentLimit": 5,
"packageRules": [
{
"description": "Only manage the built amd64 docker/Dockerfile; ignore the vestigial upstream arm/ffmpeg-tests Dockerfiles (this fork ships amd64-only)",
"matchManagers": ["dockerfile"],
"matchFileNames": [
"docker/arm32v7/Dockerfile",
"docker/arm64/Dockerfile",
"docker/ffmpeg-tests/Dockerfile"
],
"enabled": false
},
{
"description": "Group the .NET base images (mcr.microsoft.com/dotnet/*) into one PR",
"matchManagers": ["dockerfile"],
"matchPackageNames": ["/^mcr\\.microsoft\\.com\\/dotnet\\//"],
"groupName": ".NET base images"
},
{
"description": "Group the Microsoft.Extensions.* family into one PR",
"matchPackageNames": ["/^Microsoft\\.Extensions\\./"],
"groupName": "Microsoft.Extensions"
},
{
"description": "Group the Microsoft.AspNetCore.* family into one PR",
"matchPackageNames": ["/^Microsoft\\.AspNetCore\\./"],
"groupName": "Microsoft.AspNetCore"
},
{
"description": "Group Entity Framework Core + providers (held to v9 by the range pins in Directory.Packages.props)",
"matchPackageNames": [
"/^Microsoft\\.EntityFrameworkCore/",
"/^EFCore\\.BulkExtensions/",
"/^Pomelo\\.EntityFrameworkCore/"
],
"groupName": "Entity Framework Core"
},
{
"description": "Group the Serilog family into one PR",
"matchPackageNames": ["/^Serilog/"],
"groupName": "Serilog"
},
{
"description": "Group the Refit family into one PR",
"matchPackageNames": ["/^Refit/"],
"groupName": "Refit"
},
{
"description": "Group the Lucene.Net family into one PR",
"matchPackageNames": ["/^Lucene\\.Net/"],
"groupName": "Lucene.Net"
},
{
"description": "Auto-merge patch bumps to test/dev-only packages once the build+test check passes; everything else stays manual (ersatztv is prod-bearing). server-management#484",
"matchPackageNames": [
"NUnit",
"NUnit.Analyzers",
"NUnit3TestAdapter",
"NSubstitute",
"Shouldly",
"coverlet.collector",
"Microsoft.NET.Test.Sdk",
"Testably.Abstractions",
"Testably.Abstractions.Testing",
"Microsoft.VisualStudio.Threading.Analyzers"
],
"matchUpdateTypes": ["patch"],
"automerge": true,
"platformAutomerge": true
}
]
}