From 91822a60cbbf3fb851dcfbfc91d45a7b85a15536 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov <zharinov@users.noreply.github.com> Date: Fri, 17 Feb 2023 09:32:39 +0300 Subject: [PATCH] feat(github-releases): Cache functions used for `getDigest` (#20458) --- lib/modules/datasource/github-releases/index.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/modules/datasource/github-releases/index.ts b/lib/modules/datasource/github-releases/index.ts index b630ac3d62..346fe27e0a 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 -- GitLab