diff --git a/lib/modules/datasource/github-releases/index.ts b/lib/modules/datasource/github-releases/index.ts index b630ac3d627fab82fbc2acacb1e41db74227521f..346fe27e0adca087b40c939f96803a20bbe6911f 100644 --- a/lib/modules/datasource/github-releases/index.ts +++ b/lib/modules/datasource/github-releases/index.ts @@ -2,6 +2,7 @@ import is from '@sindresorhus/is'; import hasha from 'hasha'; import { logger } from '../../../logger'; +import { cache } from '../../../util/cache/package/decorator'; import { queryReleases } from '../../../util/github/graphql'; import type { GithubDigestFile, @@ -43,6 +44,12 @@ export class GithubReleasesDatasource extends Datasource { this.http = new GithubHttp(GithubReleasesDatasource.id); } + @cache({ + ttlMinutes: 1440, + namespace: 'datasource-github-releases', + key: (release: GithubRestRelease, digest: string) => + `${release.html_url}:${digest}`, + }) async findDigestFile( release: GithubRestRelease, digest: string @@ -67,6 +74,12 @@ export class GithubReleasesDatasource extends Datasource { return null; } + @cache({ + ttlMinutes: 1440, + namespace: 'datasource-github-releases', + key: (asset: GithubRestAsset, algorithm: string) => + `${asset.browser_download_url}:${algorithm}:assetDigest`, + }) async downloadAndDigest( asset: GithubRestAsset, algorithm: string