diff --git a/lib/config/presets/index.spec.ts b/lib/config/presets/index.spec.ts index e1168e965e5..35d20a9d246 100644 --- a/lib/config/presets/index.spec.ts +++ b/lib/config/presets/index.spec.ts @@ -637,6 +637,8 @@ describe('config/presets/index', () => { 'mergeConfidence:age-confidence-badges', 'replacements:all', 'workarounds:all', + 'helpers:forgejoDigestChangelogs', + 'helpers:giteaDigestChangelogs', 'helpers:githubDigestChangelogs', 'helpers:goXPackagesChangelogLink', 'helpers:goXPackagesNameLink', diff --git a/lib/config/presets/internal/config.preset.ts b/lib/config/presets/internal/config.preset.ts index 3fa8864ad37..f56c3a0ee56 100644 --- a/lib/config/presets/internal/config.preset.ts +++ b/lib/config/presets/internal/config.preset.ts @@ -35,6 +35,8 @@ export const presets: Record = { 'mergeConfidence:age-confidence-badges', 'replacements:all', 'workarounds:all', + 'helpers:forgejoDigestChangelogs', + 'helpers:giteaDigestChangelogs', 'helpers:githubDigestChangelogs', 'helpers:goXPackagesChangelogLink', 'helpers:goXPackagesNameLink', diff --git a/lib/config/presets/internal/helpers.preset.ts b/lib/config/presets/internal/helpers.preset.ts index fa2526cae54..1e9741ce545 100644 --- a/lib/config/presets/internal/helpers.preset.ts +++ b/lib/config/presets/internal/helpers.preset.ts @@ -19,19 +19,53 @@ export const presets: Record = { description: 'Keep `typescript` version in sync with the `rc` tag.', extends: [':followTag(typescript, rc)'], }, + forgejoDigestChangelogs: { + description: + 'Ensure that every dependency pinned by digest and sourced from Forgejo contains a link to the commit-to-commit diff', + packageRules: [ + { + changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}', + matchDatasources: ['forgejo-releases', 'forgejo-tags'], + matchUpdateTypes: ['digest'], + }, + { + changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}', + matchDatasources: ['git-refs', 'git-tags'], + matchJsonata: ["$detectPlatform(sourceUrl) = 'forgejo'"], + matchUpdateTypes: ['digest'], + }, + ], + }, + giteaDigestChangelogs: { + description: + 'Ensure that every dependency pinned by digest and sourced from Gitea contains a link to the commit-to-commit diff', + packageRules: [ + { + changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}', + matchDatasources: ['gitea-releases', 'gitea-tags'], + matchUpdateTypes: ['digest'], + }, + { + changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}', + matchDatasources: ['git-refs', 'git-tags'], + matchJsonata: ["$detectPlatform(sourceUrl) = 'gitea'"], + matchUpdateTypes: ['digest'], + }, + ], + }, githubDigestChangelogs: { description: - 'Ensure that every dependency pinned by digest and sourced from GitHub.com contains a link to the commit-to-commit diff', + 'Ensure that every dependency pinned by digest and sourced from GitHub.com and Github enterprise contains a link to the commit-to-commit diff', packageRules: [ { changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}', - matchDatasources: [ - 'git-refs', - 'git-tags', - 'github-releases', - 'github-tags', - ], - matchSourceUrls: ['https://github.com/**'], + matchDatasources: ['github-digest', 'github-releases', 'github-tags'], + matchUpdateTypes: ['digest'], + }, + { + changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}', + matchDatasources: ['git-refs', 'git-tags'], + matchJsonata: ["$detectPlatform(sourceUrl) = 'github'"], matchUpdateTypes: ['digest'], }, ],