Add and use getProxyFilename

This commit is contained in:
Michael B. Gale
2026-01-29 15:17:45 +00:00
parent a1c70789a3
commit beb9f533db
3 changed files with 24 additions and 5 deletions

View File

@@ -119806,8 +119806,11 @@ async function cacheProxy(logger, source, filename, version) {
throw new StartProxyError("Failed to add proxy to toolcache" /* CacheFailed */);
}
}
function getProxyFilename() {
return process.platform === "win32" ? `${UPDATEJOB_PROXY}.exe` : UPDATEJOB_PROXY;
}
async function getProxyBinaryPath(logger) {
const proxyFileName = process.platform === "win32" ? `${UPDATEJOB_PROXY}.exe` : UPDATEJOB_PROXY;
const proxyFileName = getProxyFilename();
const proxyInfo = await getDownloadUrl(logger);
let proxyBin = toolcache.find(proxyFileName, proxyInfo.version);
if (!proxyBin) {

View File

@@ -1,3 +1,5 @@
import * as filepath from "path";
import * as core from "@actions/core";
import * as toolcache from "@actions/tool-cache";
import test, { ExecutionContext } from "ava";
@@ -484,7 +486,10 @@ test("getProxyBinaryPath - returns path from tool cache if available", async (t)
const path = await startProxyExports.getProxyBinaryPath(logger);
t.assert(path);
t.assert(path.startsWith(toolcachePath));
t.is(
path,
filepath.join(toolcachePath, startProxyExports.getProxyFilename()),
);
});
});
@@ -525,6 +530,9 @@ test("getProxyBinaryPath - downloads proxy if not in cache", async (t) => {
t.assert(cacheDir.calledOnceWith(extractedPath));
t.assert(path);
t.assert(path.startsWith(toolcachePath));
t.is(
path,
filepath.join(toolcachePath, startProxyExports.getProxyFilename()),
);
});
});

View File

@@ -486,6 +486,15 @@ export async function cacheProxy(
}
}
/**
* Returns the platform-specific filename of the proxy binary.
*/
export function getProxyFilename() {
return process.platform === "win32"
? `${UPDATEJOB_PROXY}.exe`
: UPDATEJOB_PROXY;
}
/**
* Gets a path to the proxy binary. If possible, this function will find the proxy in the
* runner's tool cache. Otherwise, it downloads and extracts the proxy binary,
@@ -495,8 +504,7 @@ export async function cacheProxy(
* @returns The path to the proxy binary.
*/
export async function getProxyBinaryPath(logger: Logger): Promise<string> {
const proxyFileName =
process.platform === "win32" ? `${UPDATEJOB_PROXY}.exe` : UPDATEJOB_PROXY;
const proxyFileName = getProxyFilename();
const proxyInfo = await getDownloadUrl(logger);
let proxyBin = toolcache.find(proxyFileName, proxyInfo.version);