feat: add bun- prefix to cache keys (#160)

* feat: add bun- prefix to cache keys

Extract cache key generation into a shared `getCacheKey` function in
utils.ts that both action.ts and cache-save.ts import.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Max Schwenk
2026-02-05 11:36:05 -05:00
committed by GitHub
parent 196aaa2bd2
commit ab8cb4e8f8
5 changed files with 87 additions and 83 deletions
Generated Vendored
+35 -35
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+43 -43
View File
File diff suppressed because one or more lines are too long
+2 -3
View File
@@ -1,4 +1,3 @@
import { createHash } from "node:crypto";
import { homedir } from "node:os";
import { join } from "node:path";
import {
@@ -16,7 +15,7 @@ import { getExecOutput } from "@actions/exec";
import { Registry } from "./registry";
import { writeBunfig } from "./bunfig";
import { saveState } from "@actions/core";
import { addExtension } from "./utils";
import { addExtension, getCacheKey } from "./utils";
import { getDownloadUrl } from "./download-url";
import { cwd } from "node:process";
@@ -90,7 +89,7 @@ export default async (options: Input): Promise<Output> => {
if (!revision) {
if (cacheEnabled) {
const cacheKey = createHash("sha1").update(url).digest("base64");
const cacheKey = getCacheKey(url);
const cacheRestored = await restoreCache([bunPath], cacheKey);
if (cacheRestored) {
+2 -2
View File
@@ -1,11 +1,11 @@
import { saveCache } from "@actions/cache";
import { getState, warning } from "@actions/core";
import { CacheState } from "./action";
import { createHash } from "node:crypto";
import { getCacheKey } from "./utils";
(async () => {
const state: CacheState = JSON.parse(getState("cache"));
if (state.cacheEnabled && !state.cacheHit) {
const cacheKey = createHash("sha1").update(state.url).digest("base64");
const cacheKey = getCacheKey(state.url);
try {
await saveCache([state.bunPath], cacheKey);
+5
View File
@@ -1,8 +1,13 @@
import { debug, warning } from "@actions/core";
import { info } from "node:console";
import { createHash } from "node:crypto";
import { existsSync, readFileSync, renameSync } from "node:fs";
import { resolve, basename } from "node:path";
export function getCacheKey(url: string): string {
return `bun-${createHash("sha1").update(url).digest("base64")}`;
}
export async function request(
url: string,
init?: RequestInit,