From 9cc3d78444e8e65c5cf984049a8f2812d1f67f21 Mon Sep 17 00:00:00 2001 From: h0x0er Date: Tue, 13 Sep 2022 23:15:48 +0530 Subject: [PATCH] added code to fetch cache-endpoint in pre-step --- src/setup.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/setup.ts b/src/setup.ts index 3e3ef43..c4e783d 100644 --- a/src/setup.ts +++ b/src/setup.ts @@ -8,6 +8,7 @@ import * as common from "./common"; import * as tc from "@actions/tool-cache"; import { verifyChecksum } from "./checksum"; import isDocker from "is-docker"; +import { cacheFile, cacheKey, CompressionMethod, getCacheEntry } from "./cache"; (async () => { try { @@ -36,6 +37,24 @@ import isDocker from "is-docker"; disable_telemetry: core.getBooleanInput("disable-telemetry"), }; + try { + const cacheEntry = await getCacheEntry([cacheKey], [cacheFile], { + compressionMethod: CompressionMethod.ZstdWithoutLong, + }); + const url = new URL(cacheEntry.archiveLocation); + core.info(`Adding cacheHost: ${url.hostname}:443 to allowed-endpoints`); + confg.allowed_endpoints += ` ${url.hostname}:443`; + } catch (exception) { + // some exception has occurred. + core.info("Unable to fetch cacheURL"); + if (confg.egress_policy === "block") { + core.warning( + "Unable to fetch cacheURL switching egress-policy to audit mode" + ); + confg.egress_policy = "audit"; + } + } + if (confg.egress_policy !== "audit" && confg.egress_policy !== "block") { core.setFailed("egress-policy must be either audit or block"); }