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