mirror of
https://github.com/DeterminateSystems/flake-checker-action.git
synced 2025-06-03 17:15:20 +02:00
Fix merge conflicts with main
This commit is contained in:
commit
db2913f100
7 changed files with 375 additions and 308 deletions
6
.github/workflows/ci.yaml
vendored
6
.github/workflows/ci.yaml
vendored
|
@ -32,6 +32,8 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
- name: Check flake.lock
|
||||
uses: ./
|
||||
with:
|
||||
_internal-strict-mode: true
|
||||
|
||||
run-x86_64-linux-dirty:
|
||||
name: Run x86_64 Linux (dirty)
|
||||
|
@ -43,6 +45,7 @@ jobs:
|
|||
uses: ./
|
||||
with:
|
||||
flake-lock-path: flake.dirty.lock
|
||||
_internal-strict-mode: true
|
||||
|
||||
run-x86_64-darwin-clean:
|
||||
name: Run x86_64 Darwin (clean)
|
||||
|
@ -52,6 +55,8 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
- name: Check flake.lock
|
||||
uses: ./
|
||||
with:
|
||||
_internal-strict-mode: true
|
||||
|
||||
run-x86_64-darwin-dirty:
|
||||
name: Run x86_64 Darwin (dirty)
|
||||
|
@ -63,3 +68,4 @@ jobs:
|
|||
uses: ./
|
||||
with:
|
||||
flake-lock-path: flake.dirty.lock
|
||||
_internal-strict-mode: true
|
||||
|
|
|
@ -47,6 +47,9 @@ inputs:
|
|||
description: |
|
||||
Run a version of flake-checker from somewhere already on disk. Intended only for testing the Action.
|
||||
required: false
|
||||
_internal-strict-mode:
|
||||
description: Whether to fail when any errors are thrown. Used only to test the Action; do not set this in your own workflows.
|
||||
default: false
|
||||
runs:
|
||||
using: "node20"
|
||||
main: "dist/index.js"
|
||||
|
|
317
dist/index.js
generated
vendored
317
dist/index.js
generated
vendored
|
@ -39513,7 +39513,7 @@ module.exports =
|
|||
{
|
||||
parallel : __nccwpck_require__(644),
|
||||
serial : __nccwpck_require__(4501),
|
||||
serialOrdered : __nccwpck_require__(2362)
|
||||
serialOrdered : __nccwpck_require__(3958)
|
||||
};
|
||||
|
||||
|
||||
|
@ -39844,7 +39844,7 @@ function parallel(list, iterator, callback)
|
|||
/***/ 4501:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
var serialOrdered = __nccwpck_require__(2362);
|
||||
var serialOrdered = __nccwpck_require__(3958);
|
||||
|
||||
// Public API
|
||||
module.exports = serial;
|
||||
|
@ -39865,7 +39865,7 @@ function serial(list, iterator, callback)
|
|||
|
||||
/***/ }),
|
||||
|
||||
/***/ 2362:
|
||||
/***/ 3958:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
|
||||
var iterate = __nccwpck_require__(5748)
|
||||
|
@ -93700,6 +93700,8 @@ const got = source_create(defaults);
|
|||
|
||||
|
||||
|
||||
;// CONCATENATED MODULE: external "node:child_process"
|
||||
const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:child_process");
|
||||
;// CONCATENATED MODULE: external "node:fs/promises"
|
||||
const promises_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs/promises");
|
||||
;// CONCATENATED MODULE: external "node:path"
|
||||
|
@ -93708,7 +93710,7 @@ const external_node_path_namespaceObject = __WEBPACK_EXTERNAL_createRequire(impo
|
|||
const external_node_stream_promises_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream/promises");
|
||||
;// CONCATENATED MODULE: external "node:zlib"
|
||||
const external_node_zlib_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:zlib");
|
||||
;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@97979f48241e807d76bd9b8cbfc69a245f04894b_pj2fuot4efihj4fvjjgwov2aue/node_modules/detsys-ts/dist/index.js
|
||||
;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@ed02129aed8e4d6402d920152652877189bece70_3whmnlhrx56zhgtsjnkrhnutfu/node_modules/detsys-ts/dist/index.js
|
||||
var __defProp = Object.defineProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
|
@ -94012,45 +94014,6 @@ function hashEnvironmentVariables(prefix, variables) {
|
|||
return `${prefix}-${hash.digest("hex")}`;
|
||||
}
|
||||
|
||||
// src/platform.ts
|
||||
var platform_exports = {};
|
||||
__export(platform_exports, {
|
||||
getArchOs: () => getArchOs,
|
||||
getNixPlatform: () => getNixPlatform
|
||||
});
|
||||
|
||||
function getArchOs() {
|
||||
const envArch = process.env.RUNNER_ARCH;
|
||||
const envOs = process.env.RUNNER_OS;
|
||||
if (envArch && envOs) {
|
||||
return `${envArch}-${envOs}`;
|
||||
} else {
|
||||
core.error(
|
||||
`Can't identify the platform: RUNNER_ARCH or RUNNER_OS undefined (${envArch}-${envOs})`
|
||||
);
|
||||
throw new Error("RUNNER_ARCH and/or RUNNER_OS is not defined");
|
||||
}
|
||||
}
|
||||
function getNixPlatform(archOs) {
|
||||
const archOsMap = /* @__PURE__ */ new Map([
|
||||
["X64-macOS", "x86_64-darwin"],
|
||||
["ARM64-macOS", "aarch64-darwin"],
|
||||
["X64-Linux", "x86_64-linux"],
|
||||
["ARM64-Linux", "aarch64-linux"]
|
||||
]);
|
||||
const mappedTo = archOsMap.get(archOs);
|
||||
if (mappedTo) {
|
||||
return mappedTo;
|
||||
} else {
|
||||
core.error(
|
||||
`ArchOs (${archOs}) doesn't map to a supported Nix platform.`
|
||||
);
|
||||
throw new Error(
|
||||
`Cannot convert ArchOs (${archOs}) to a supported Nix platform.`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// src/inputs.ts
|
||||
var inputs_exports = {};
|
||||
__export(inputs_exports, {
|
||||
|
@ -94115,6 +94078,45 @@ var getStringOrUndefined = (name) => {
|
|||
}
|
||||
};
|
||||
|
||||
// src/platform.ts
|
||||
var platform_exports = {};
|
||||
__export(platform_exports, {
|
||||
getArchOs: () => getArchOs,
|
||||
getNixPlatform: () => getNixPlatform
|
||||
});
|
||||
|
||||
function getArchOs() {
|
||||
const envArch = process.env.RUNNER_ARCH;
|
||||
const envOs = process.env.RUNNER_OS;
|
||||
if (envArch && envOs) {
|
||||
return `${envArch}-${envOs}`;
|
||||
} else {
|
||||
core.error(
|
||||
`Can't identify the platform: RUNNER_ARCH or RUNNER_OS undefined (${envArch}-${envOs})`
|
||||
);
|
||||
throw new Error("RUNNER_ARCH and/or RUNNER_OS is not defined");
|
||||
}
|
||||
}
|
||||
function getNixPlatform(archOs) {
|
||||
const archOsMap = /* @__PURE__ */ new Map([
|
||||
["X64-macOS", "x86_64-darwin"],
|
||||
["ARM64-macOS", "aarch64-darwin"],
|
||||
["X64-Linux", "x86_64-linux"],
|
||||
["ARM64-Linux", "aarch64-linux"]
|
||||
]);
|
||||
const mappedTo = archOsMap.get(archOs);
|
||||
if (mappedTo) {
|
||||
return mappedTo;
|
||||
} else {
|
||||
core.error(
|
||||
`ArchOs (${archOs}) doesn't map to a supported Nix platform.`
|
||||
);
|
||||
throw new Error(
|
||||
`Cannot convert ArchOs (${archOs}) to a supported Nix platform.`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// src/sourcedef.ts
|
||||
|
||||
function constructSourceParameters(legacyPrefix) {
|
||||
|
@ -94161,27 +94163,44 @@ function noisilyGetInput(suffix, legacyPrefix) {
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
var DEFAULT_IDS_HOST = "https://install.determinate.systems";
|
||||
var IDS_HOST = process.env["IDS_HOST"] ?? DEFAULT_IDS_HOST;
|
||||
var EVENT_EXCEPTION = "exception";
|
||||
var EVENT_ARTIFACT_CACHE_HIT = "artifact_cache_hit";
|
||||
var EVENT_ARTIFACT_CACHE_MISS = "artifact_cache_miss";
|
||||
var EVENT_ARTIFACT_CACHE_PERSIST = "artifact_cache_persist";
|
||||
var EVENT_PREFLIGHT_REQUIRE_NIX_DENIED = "preflight-require-nix-denied";
|
||||
var FACT_ENDED_WITH_EXCEPTION = "ended_with_exception";
|
||||
var FACT_FINAL_EXCEPTION = "final_exception";
|
||||
var FACT_OS = "$os";
|
||||
var FACT_OS_VERSION = "$os_version";
|
||||
var FACT_SOURCE_URL = "source_url";
|
||||
var FACT_SOURCE_URL_ETAG = "source_url_etag";
|
||||
var FACT_NIX_LOCATION = "nix_location";
|
||||
var FACT_NIX_STORE_TRUST = "nix_store_trusted";
|
||||
var FACT_NIX_STORE_VERSION = "nix_store_version";
|
||||
var FACT_NIX_STORE_CHECK_METHOD = "nix_store_check_method";
|
||||
var FACT_NIX_STORE_CHECK_ERROR = "nix_store_check_error";
|
||||
var IdsToolbox = class {
|
||||
var STATE_KEY_EXECUTION_PHASE = "detsys_action_execution_phase";
|
||||
var STATE_KEY_NIX_NOT_FOUND = "detsys_action_nix_not_found";
|
||||
var STATE_NOT_FOUND = "not-found";
|
||||
var DetSysAction = class {
|
||||
determineExecutionPhase() {
|
||||
const currentPhase = core.getState(STATE_KEY_EXECUTION_PHASE);
|
||||
if (currentPhase === "") {
|
||||
core.saveState(STATE_KEY_EXECUTION_PHASE, "post");
|
||||
return "main";
|
||||
} else {
|
||||
return "post";
|
||||
}
|
||||
}
|
||||
constructor(actionOptions) {
|
||||
this.actionOptions = makeOptionsConfident(actionOptions);
|
||||
this.hookMain = void 0;
|
||||
this.hookPost = void 0;
|
||||
this.exceptionAttachments = /* @__PURE__ */ new Map();
|
||||
this.nixStoreTrust = "unknown";
|
||||
this.strictMode = getBool("_internal-strict-mode");
|
||||
this.events = [];
|
||||
this.client = got_dist_source.extend({
|
||||
retry: {
|
||||
|
@ -94225,25 +94244,19 @@ var IdsToolbox = class {
|
|||
{
|
||||
getDetails().then((details) => {
|
||||
if (details.name !== "unknown") {
|
||||
this.addFact("$os", details.name);
|
||||
this.addFact(FACT_OS, details.name);
|
||||
}
|
||||
if (details.version !== "unknown") {
|
||||
this.addFact("$os_version", details.version);
|
||||
this.addFact(FACT_OS_VERSION, details.version);
|
||||
}
|
||||
}).catch((e) => {
|
||||
core.debug(`Failure getting platform details: ${e}`);
|
||||
core.debug(
|
||||
`Failure getting platform details: ${stringifyError(e)}`
|
||||
);
|
||||
});
|
||||
}
|
||||
{
|
||||
const phase = core.getState("idstoolbox_execution_phase");
|
||||
if (phase === "") {
|
||||
core.saveState("idstoolbox_execution_phase", "post");
|
||||
this.executionPhase = "main";
|
||||
} else {
|
||||
this.executionPhase = "post";
|
||||
}
|
||||
this.executionPhase = this.determineExecutionPhase();
|
||||
this.facts.execution_phase = this.executionPhase;
|
||||
}
|
||||
if (this.actionOptions.fetchStyle === "gh-env-style") {
|
||||
this.architectureFetchSuffix = this.archOs;
|
||||
} else if (this.actionOptions.fetchStyle === "nix-style") {
|
||||
|
@ -94271,20 +94284,31 @@ var IdsToolbox = class {
|
|||
stapleFile(name, location) {
|
||||
this.exceptionAttachments.set(name, location);
|
||||
}
|
||||
onMain(callback) {
|
||||
this.hookMain = callback;
|
||||
setExecutionPhase() {
|
||||
const phase = core.getState(STATE_KEY_EXECUTION_PHASE);
|
||||
if (phase === "") {
|
||||
core.saveState(STATE_KEY_EXECUTION_PHASE, "post");
|
||||
this.executionPhase = "main";
|
||||
} else {
|
||||
this.executionPhase = "post";
|
||||
}
|
||||
onPost(callback) {
|
||||
this.hookPost = callback;
|
||||
this.facts.execution_phase = this.executionPhase;
|
||||
}
|
||||
/**
|
||||
* Execute the Action as defined.
|
||||
*/
|
||||
execute() {
|
||||
this.executeAsync().catch((error2) => {
|
||||
console.log(error2);
|
||||
process.exitCode = 1;
|
||||
});
|
||||
}
|
||||
stringifyError(error2) {
|
||||
return error2 instanceof Error || typeof error2 == "string" ? error2.toString() : JSON.stringify(error2);
|
||||
// Whether the
|
||||
get isMain() {
|
||||
return this.executionPhase === "main";
|
||||
}
|
||||
get isPost() {
|
||||
return this.executionPhase === "post";
|
||||
}
|
||||
async executeAsync() {
|
||||
try {
|
||||
|
@ -94292,41 +94316,41 @@ var IdsToolbox = class {
|
|||
this.getCorrelationHashes()
|
||||
);
|
||||
if (!await this.preflightRequireNix()) {
|
||||
this.recordEvent("preflight-require-nix-denied");
|
||||
this.recordEvent(EVENT_PREFLIGHT_REQUIRE_NIX_DENIED);
|
||||
return;
|
||||
} else {
|
||||
await this.preflightNixStoreInfo();
|
||||
this.addFact(FACT_NIX_STORE_TRUST, this.nixStoreTrust);
|
||||
}
|
||||
if (this.executionPhase === "main" && this.hookMain) {
|
||||
await this.hookMain();
|
||||
} else if (this.executionPhase === "post" && this.hookPost) {
|
||||
await this.hookPost();
|
||||
if (this.isMain) {
|
||||
await this.main();
|
||||
} else if (this.isPost) {
|
||||
await this.post();
|
||||
}
|
||||
this.addFact(FACT_ENDED_WITH_EXCEPTION, false);
|
||||
} catch (error2) {
|
||||
} catch (e) {
|
||||
this.addFact(FACT_ENDED_WITH_EXCEPTION, true);
|
||||
const reportable = this.stringifyError(error2);
|
||||
const reportable = stringifyError(e);
|
||||
this.addFact(FACT_FINAL_EXCEPTION, reportable);
|
||||
if (this.executionPhase === "post") {
|
||||
if (this.isPost) {
|
||||
core.warning(reportable);
|
||||
} else {
|
||||
core.setFailed(reportable);
|
||||
}
|
||||
const do_gzip = (0,external_node_util_.promisify)(external_node_zlib_namespaceObject.gzip);
|
||||
const doGzip = (0,external_node_util_.promisify)(external_node_zlib_namespaceObject.gzip);
|
||||
const exceptionContext = /* @__PURE__ */ new Map();
|
||||
for (const [attachmentLabel, filePath] of this.exceptionAttachments) {
|
||||
try {
|
||||
const logText = (0,external_node_fs_namespaceObject.readFileSync)(filePath);
|
||||
const buf = await do_gzip(logText);
|
||||
const buf = await doGzip(logText);
|
||||
exceptionContext.set(
|
||||
`staple_value_${attachmentLabel}`,
|
||||
buf.toString("base64")
|
||||
);
|
||||
} catch (e) {
|
||||
} catch (innerError) {
|
||||
exceptionContext.set(
|
||||
`staple_failure_${attachmentLabel}`,
|
||||
this.stringifyError(e)
|
||||
stringifyError(innerError)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -94357,7 +94381,24 @@ var IdsToolbox = class {
|
|||
uuid: (0,external_node_crypto_namespaceObject.randomUUID)()
|
||||
});
|
||||
}
|
||||
async fetch() {
|
||||
/**
|
||||
* Fetches a file in `.xz` format, imports its contents into the Nix store,
|
||||
* and returns the path of the executable at `/nix/store/STORE_PATH/bin/${bin}`.
|
||||
*/
|
||||
async unpackClosure(bin) {
|
||||
const artifact = this.fetchArtifact();
|
||||
const { stdout } = await (0,external_node_util_.promisify)(external_node_child_process_namespaceObject.exec)(
|
||||
`cat "${artifact}" | xz -d | nix-store --import`
|
||||
);
|
||||
const paths = stdout.split(external_node_os_.EOL);
|
||||
const lastPath = paths.at(-2);
|
||||
return `${lastPath}/bin/${bin}`;
|
||||
}
|
||||
/**
|
||||
* Fetch an artifact, such as a tarball, from the URL determined by the `source-*`
|
||||
* inputs and other factors.
|
||||
*/
|
||||
async fetchArtifact() {
|
||||
core.startGroup(
|
||||
`Downloading ${this.actionOptions.name} for ${this.architectureFetchSuffix}`
|
||||
);
|
||||
|
@ -94401,7 +94442,7 @@ var IdsToolbox = class {
|
|||
try {
|
||||
await this.saveCachedVersion(v, destFile);
|
||||
} catch (e) {
|
||||
core.debug(`Error caching the artifact: ${e}`);
|
||||
core.debug(`Error caching the artifact: ${stringifyError(e)}`);
|
||||
}
|
||||
}
|
||||
return destFile;
|
||||
|
@ -94409,11 +94450,24 @@ var IdsToolbox = class {
|
|||
core.endGroup();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Fetches the executable at the URL determined by the `source-*` inputs and
|
||||
* other facts, `chmod`s it, and returns the path to the executable on disk.
|
||||
*/
|
||||
async fetchExecutable() {
|
||||
const binaryPath = await this.fetch();
|
||||
const binaryPath = await this.fetchArtifact();
|
||||
await (0,promises_namespaceObject.chmod)(binaryPath, promises_namespaceObject.constants.S_IXUSR | promises_namespaceObject.constants.S_IXGRP);
|
||||
return binaryPath;
|
||||
}
|
||||
/**
|
||||
* A helper function for failing on error only if strict mode is enabled.
|
||||
* This is intended only for CI environments testing Actions themselves.
|
||||
*/
|
||||
failOnError(msg) {
|
||||
if (this.strictMode) {
|
||||
core.setFailed(`strict mode failure: ${msg}`);
|
||||
}
|
||||
}
|
||||
async complete() {
|
||||
this.recordEvent(`complete_${this.executionPhase}`);
|
||||
await this.submitEvents();
|
||||
|
@ -94507,29 +94561,33 @@ var IdsToolbox = class {
|
|||
core.debug(`Nix not at ${candidateNix}`);
|
||||
}
|
||||
}
|
||||
this.addFact("nix_location", nixLocation || "");
|
||||
this.addFact(FACT_NIX_LOCATION, nixLocation || "");
|
||||
if (this.actionOptions.requireNix === "ignore") {
|
||||
return true;
|
||||
}
|
||||
const currentNotFoundState = core.getState(
|
||||
"idstoolbox_nix_not_found"
|
||||
);
|
||||
if (currentNotFoundState === "not-found") {
|
||||
const currentNotFoundState = core.getState(STATE_KEY_NIX_NOT_FOUND);
|
||||
if (currentNotFoundState === STATE_NOT_FOUND) {
|
||||
return false;
|
||||
}
|
||||
if (nixLocation !== void 0) {
|
||||
return true;
|
||||
}
|
||||
core.saveState("idstoolbox_nix_not_found", "not-found");
|
||||
core.saveState(STATE_KEY_NIX_NOT_FOUND, STATE_NOT_FOUND);
|
||||
switch (this.actionOptions.requireNix) {
|
||||
case "fail":
|
||||
core.setFailed(
|
||||
"This action can only be used when Nix is installed. Add `- uses: DeterminateSystems/nix-installer-action@main` earlier in your workflow."
|
||||
[
|
||||
"This action can only be used when Nix is installed.",
|
||||
"Add `- uses: DeterminateSystems/nix-installer-action@main` earlier in your workflow."
|
||||
].join(" ")
|
||||
);
|
||||
break;
|
||||
case "warn":
|
||||
core.warning(
|
||||
"This action is in no-op mode because Nix is not installed. Add `- uses: DeterminateSystems/nix-installer-action@main` earlier in your workflow."
|
||||
[
|
||||
"This action is in no-op mode because Nix is not installed.",
|
||||
"Add `- uses: DeterminateSystems/nix-installer-action@main` earlier in your workflow."
|
||||
].join(" ")
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
@ -94572,11 +94630,11 @@ var IdsToolbox = class {
|
|||
}
|
||||
this.addFact(FACT_NIX_STORE_VERSION, JSON.stringify(parsed.version));
|
||||
} catch (e) {
|
||||
this.addFact(FACT_NIX_STORE_CHECK_ERROR, this.stringifyError(e));
|
||||
this.addFact(FACT_NIX_STORE_CHECK_ERROR, stringifyError(e));
|
||||
}
|
||||
}
|
||||
async submitEvents() {
|
||||
if (!this.actionOptions.diagnosticsUrl) {
|
||||
if (this.actionOptions.diagnosticsUrl === void 0) {
|
||||
core.debug(
|
||||
"Diagnostics are disabled. Not sending the following events:"
|
||||
);
|
||||
|
@ -94592,8 +94650,10 @@ var IdsToolbox = class {
|
|||
await this.client.post(this.actionOptions.diagnosticsUrl, {
|
||||
json: batch
|
||||
});
|
||||
} catch (error2) {
|
||||
core.debug(`Error submitting diagnostics event: ${error2}`);
|
||||
} catch (e) {
|
||||
core.debug(
|
||||
`Error submitting diagnostics event: ${stringifyError(e)}`
|
||||
);
|
||||
}
|
||||
this.events = [];
|
||||
}
|
||||
|
@ -94602,6 +94662,9 @@ var IdsToolbox = class {
|
|||
return external_node_path_namespaceObject.join(_tmpdir, `${this.actionOptions.name}-${(0,external_node_crypto_namespaceObject.randomUUID)()}`);
|
||||
}
|
||||
};
|
||||
function stringifyError(error2) {
|
||||
return error2 instanceof Error || typeof error2 == "string" ? error2.toString() : JSON.stringify(error2);
|
||||
}
|
||||
function makeOptionsConfident(actionOptions) {
|
||||
const idsProjectName = actionOptions.idsProjectName ?? actionOptions.name;
|
||||
const finalOpts = {
|
||||
|
@ -94637,7 +94700,7 @@ function determineDiagnosticsUrl(idsProjectName, urlOption) {
|
|||
return mungeDiagnosticEndpoint(new URL(providedDiagnosticEndpoint));
|
||||
} catch (e) {
|
||||
core.info(
|
||||
`User-provided diagnostic endpoint ignored: not a valid URL: ${e}`
|
||||
`User-provided diagnostic endpoint ignored: not a valid URL: ${stringifyError(e)}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -94649,7 +94712,7 @@ function determineDiagnosticsUrl(idsProjectName, urlOption) {
|
|||
return diagnosticUrl;
|
||||
} catch (e) {
|
||||
core.info(
|
||||
`Generated diagnostic endpoint ignored: not a valid URL: ${e}`
|
||||
`Generated diagnostic endpoint ignored: not a valid URL: ${stringifyError(e)}`
|
||||
);
|
||||
}
|
||||
return void 0;
|
||||
|
@ -94670,7 +94733,9 @@ function mungeDiagnosticEndpoint(inputUrl) {
|
|||
inputUrl.password = currentIdsHost.password;
|
||||
return inputUrl;
|
||||
} catch (e) {
|
||||
core.info(`Default or overridden IDS host isn't a valid URL: ${e}`);
|
||||
core.info(
|
||||
`Default or overridden IDS host isn't a valid URL: ${stringifyError(e)}`
|
||||
);
|
||||
}
|
||||
return inputUrl;
|
||||
}
|
||||
|
@ -94692,9 +94757,9 @@ function mungeDiagnosticEndpoint(inputUrl) {
|
|||
|
||||
|
||||
var EVENT_EXECUTION_FAILURE = "execution_failure";
|
||||
var FlakeCheckerAction = class {
|
||||
var FlakeCheckerAction = class extends DetSysAction {
|
||||
constructor() {
|
||||
const options = {
|
||||
super({
|
||||
name: "flake-checker",
|
||||
fetchStyle: "gh-env-style",
|
||||
diagnosticsUrl: new URL(
|
||||
|
@ -94702,8 +94767,7 @@ var FlakeCheckerAction = class {
|
|||
),
|
||||
// We don't need Nix in this Action because we fetch a static binary using curl and run it
|
||||
requireNix: "ignore"
|
||||
};
|
||||
this.idslib = new IdsToolbox(options);
|
||||
});
|
||||
this.flakeLockPath = inputs_exports.getString("flake-lock-path");
|
||||
this.nixpkgsKeys = inputs_exports.getString("nixpkgs-keys");
|
||||
this.checkOutdated = inputs_exports.getBool("check-outdated");
|
||||
|
@ -94713,6 +94777,34 @@ var FlakeCheckerAction = class {
|
|||
this.failMode = inputs_exports.getBool("fail-mode");
|
||||
this.sendStatistics = inputs_exports.getBool("send-statistics");
|
||||
}
|
||||
async main() {
|
||||
await this.checkFlake();
|
||||
}
|
||||
// No post step
|
||||
async post() {
|
||||
}
|
||||
async checkFlake() {
|
||||
const binaryPath = await this.fetchExecutable();
|
||||
const executionEnv = await this.executionEnvironment();
|
||||
core.debug(
|
||||
`Execution environment: ${JSON.stringify(executionEnv, null, 4)}`
|
||||
);
|
||||
const exitCode = await exec.exec(binaryPath, [], {
|
||||
env: {
|
||||
...executionEnv,
|
||||
...process.env
|
||||
// To get $PATH, etc
|
||||
},
|
||||
ignoreReturnCode: true
|
||||
});
|
||||
if (exitCode !== 0) {
|
||||
this.recordEvent(EVENT_EXECUTION_FAILURE, {
|
||||
exitCode
|
||||
});
|
||||
core.setFailed(`Non-zero exit code of \`${exitCode}\`.`);
|
||||
}
|
||||
return exitCode;
|
||||
}
|
||||
async executionEnvironment() {
|
||||
const executionEnv = {};
|
||||
executionEnv.NIX_FLAKE_CHECKER_FLAKE_LOCK_PATH = this.flakeLockPath;
|
||||
|
@ -94737,36 +94829,9 @@ var FlakeCheckerAction = class {
|
|||
}
|
||||
return executionEnv;
|
||||
}
|
||||
async check() {
|
||||
const sourceBinary = inputs_exports.getStringOrNull("source-binary");
|
||||
const binaryPath = sourceBinary !== null && sourceBinary !== "" ? sourceBinary : await this.idslib.fetchExecutable();
|
||||
const executionEnv = await this.executionEnvironment();
|
||||
core.debug(
|
||||
`Execution environment: ${JSON.stringify(executionEnv, null, 4)}`
|
||||
);
|
||||
const exitCode = await exec.exec(binaryPath, [], {
|
||||
env: {
|
||||
...executionEnv,
|
||||
...process.env
|
||||
// To get $PATH, etc
|
||||
},
|
||||
ignoreReturnCode: true
|
||||
});
|
||||
if (exitCode !== 0) {
|
||||
this.idslib.recordEvent(EVENT_EXECUTION_FAILURE, {
|
||||
exitCode
|
||||
});
|
||||
core.setFailed(`Non-zero exit code of \`${exitCode}\`.`);
|
||||
}
|
||||
return exitCode;
|
||||
}
|
||||
};
|
||||
function main() {
|
||||
const checker = new FlakeCheckerAction();
|
||||
checker.idslib.onMain(async () => {
|
||||
await checker.check();
|
||||
});
|
||||
checker.idslib.execute();
|
||||
new FlakeCheckerAction().execute();
|
||||
}
|
||||
main();
|
||||
//# sourceMappingURL=index.js.map
|
||||
|
|
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
|
@ -31,7 +31,7 @@
|
|||
"devDependencies": {
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
||||
"@types/node": "^20.12.12",
|
||||
"@typescript-eslint/eslint-plugin": "^7.9.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.10.0",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
|
|
260
pnpm-lock.yaml
generated
260
pnpm-lock.yaml
generated
|
@ -13,7 +13,7 @@ dependencies:
|
|||
version: 1.1.1
|
||||
detsys-ts:
|
||||
specifier: github:DeterminateSystems/detsys-ts
|
||||
version: github.com/DeterminateSystems/detsys-ts/97979f48241e807d76bd9b8cbfc69a245f04894b
|
||||
version: github.com/DeterminateSystems/detsys-ts/ed02129aed8e4d6402d920152652877189bece70
|
||||
|
||||
devDependencies:
|
||||
'@trivago/prettier-plugin-sort-imports':
|
||||
|
@ -23,8 +23,8 @@ devDependencies:
|
|||
specifier: ^20.12.12
|
||||
version: 20.12.12
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^7.9.0
|
||||
version: 7.9.0(@typescript-eslint/parser@7.9.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
specifier: ^7.10.0
|
||||
version: 7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@vercel/ncc':
|
||||
specifier: ^0.38.1
|
||||
version: 0.38.1
|
||||
|
@ -33,13 +33,13 @@ devDependencies:
|
|||
version: 8.57.0
|
||||
eslint-import-resolver-typescript:
|
||||
specifier: ^3.6.1
|
||||
version: 3.6.1(@typescript-eslint/parser@7.9.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
version: 3.6.1(@typescript-eslint/parser@7.10.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-plugin-github:
|
||||
specifier: ^4.10.2
|
||||
version: 4.10.2(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5)
|
||||
eslint-plugin-import:
|
||||
specifier: ^2.29.1
|
||||
version: 2.29.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
version: 2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-prettier:
|
||||
specifier: ^5.1.3
|
||||
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
|
||||
|
@ -705,128 +705,128 @@ packages:
|
|||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@rollup/rollup-android-arm-eabi@4.17.2:
|
||||
resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
|
||||
/@rollup/rollup-android-arm-eabi@4.18.0:
|
||||
resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-android-arm64@4.17.2:
|
||||
resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
|
||||
/@rollup/rollup-android-arm64@4.18.0:
|
||||
resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-darwin-arm64@4.17.2:
|
||||
resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
|
||||
/@rollup/rollup-darwin-arm64@4.18.0:
|
||||
resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-darwin-x64@4.17.2:
|
||||
resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
|
||||
/@rollup/rollup-darwin-x64@4.18.0:
|
||||
resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm-gnueabihf@4.17.2:
|
||||
resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
|
||||
/@rollup/rollup-linux-arm-gnueabihf@4.18.0:
|
||||
resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm-musleabihf@4.17.2:
|
||||
resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
|
||||
/@rollup/rollup-linux-arm-musleabihf@4.18.0:
|
||||
resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm64-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
|
||||
/@rollup/rollup-linux-arm64-gnu@4.18.0:
|
||||
resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm64-musl@4.17.2:
|
||||
resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
|
||||
/@rollup/rollup-linux-arm64-musl@4.18.0:
|
||||
resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
|
||||
/@rollup/rollup-linux-powerpc64le-gnu@4.18.0:
|
||||
resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-riscv64-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
|
||||
/@rollup/rollup-linux-riscv64-gnu@4.18.0:
|
||||
resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-s390x-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
|
||||
/@rollup/rollup-linux-s390x-gnu@4.18.0:
|
||||
resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-x64-gnu@4.17.2:
|
||||
resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
|
||||
/@rollup/rollup-linux-x64-gnu@4.18.0:
|
||||
resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-x64-musl@4.17.2:
|
||||
resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
|
||||
/@rollup/rollup-linux-x64-musl@4.18.0:
|
||||
resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-arm64-msvc@4.17.2:
|
||||
resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
|
||||
/@rollup/rollup-win32-arm64-msvc@4.18.0:
|
||||
resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-ia32-msvc@4.17.2:
|
||||
resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
|
||||
/@rollup/rollup-win32-ia32-msvc@4.18.0:
|
||||
resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-x64-msvc@4.17.2:
|
||||
resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
|
||||
/@rollup/rollup-win32-x64-msvc@4.18.0:
|
||||
resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
|
@ -899,8 +899,8 @@ packages:
|
|||
'@types/node': 20.12.12
|
||||
dev: false
|
||||
|
||||
/@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==}
|
||||
/@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^7.0.0
|
||||
|
@ -911,11 +911,11 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.9.0
|
||||
'@typescript-eslint/type-utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.9.0
|
||||
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.10.0
|
||||
'@typescript-eslint/type-utils': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.10.0
|
||||
eslint: 8.57.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.1
|
||||
|
@ -926,8 +926,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==}
|
||||
/@typescript-eslint/parser@7.10.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -936,10 +936,10 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 7.9.0
|
||||
'@typescript-eslint/types': 7.9.0
|
||||
'@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.9.0
|
||||
'@typescript-eslint/scope-manager': 7.10.0
|
||||
'@typescript-eslint/types': 7.10.0
|
||||
'@typescript-eslint/typescript-estree': 7.10.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.10.0
|
||||
debug: 4.3.4
|
||||
eslint: 8.57.0
|
||||
typescript: 5.4.5
|
||||
|
@ -947,16 +947,16 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/scope-manager@7.9.0:
|
||||
resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
|
||||
/@typescript-eslint/scope-manager@7.10.0:
|
||||
resolution: {integrity: sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.9.0
|
||||
'@typescript-eslint/visitor-keys': 7.9.0
|
||||
'@typescript-eslint/types': 7.10.0
|
||||
'@typescript-eslint/visitor-keys': 7.10.0
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/type-utils@7.9.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==}
|
||||
/@typescript-eslint/type-utils@7.10.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
@ -965,8 +965,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/typescript-estree': 7.10.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 4.3.4
|
||||
eslint: 8.57.0
|
||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||
|
@ -975,13 +975,13 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/types@7.9.0:
|
||||
resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
|
||||
/@typescript-eslint/types@7.10.0:
|
||||
resolution: {integrity: sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
|
||||
/@typescript-eslint/typescript-estree@7.10.0(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
|
@ -989,8 +989,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.9.0
|
||||
'@typescript-eslint/visitor-keys': 7.9.0
|
||||
'@typescript-eslint/types': 7.10.0
|
||||
'@typescript-eslint/visitor-keys': 7.10.0
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
|
@ -1002,27 +1002,27 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
|
||||
/@typescript-eslint/utils@7.10.0(eslint@8.57.0)(typescript@5.4.5):
|
||||
resolution: {integrity: sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@typescript-eslint/scope-manager': 7.9.0
|
||||
'@typescript-eslint/types': 7.9.0
|
||||
'@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.10.0
|
||||
'@typescript-eslint/types': 7.10.0
|
||||
'@typescript-eslint/typescript-estree': 7.10.0(typescript@5.4.5)
|
||||
eslint: 8.57.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/visitor-keys@7.9.0:
|
||||
resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
|
||||
/@typescript-eslint/visitor-keys@7.10.0:
|
||||
resolution: {integrity: sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.9.0
|
||||
'@typescript-eslint/types': 7.10.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
|
@ -1233,11 +1233,11 @@ packages:
|
|||
balanced-match: 1.0.2
|
||||
dev: true
|
||||
|
||||
/braces@3.0.2:
|
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||
/braces@3.0.3:
|
||||
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
fill-range: 7.0.1
|
||||
fill-range: 7.1.1
|
||||
dev: true
|
||||
|
||||
/browserslist@4.23.0:
|
||||
|
@ -1245,8 +1245,8 @@ packages:
|
|||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001620
|
||||
electron-to-chromium: 1.4.774
|
||||
caniuse-lite: 1.0.30001621
|
||||
electron-to-chromium: 1.4.777
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.16(browserslist@4.23.0)
|
||||
dev: true
|
||||
|
@ -1300,8 +1300,8 @@ packages:
|
|||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001620:
|
||||
resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==}
|
||||
/caniuse-lite@1.0.30001621:
|
||||
resolution: {integrity: sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==}
|
||||
dev: true
|
||||
|
||||
/chalk@2.4.2:
|
||||
|
@ -1326,7 +1326,7 @@ packages:
|
|||
engines: {node: '>= 8.10.0'}
|
||||
dependencies:
|
||||
anymatch: 3.1.3
|
||||
braces: 3.0.2
|
||||
braces: 3.0.3
|
||||
glob-parent: 5.1.2
|
||||
is-binary-path: 2.1.0
|
||||
is-glob: 4.0.3
|
||||
|
@ -1504,8 +1504,8 @@ packages:
|
|||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium@1.4.774:
|
||||
resolution: {integrity: sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==}
|
||||
/electron-to-chromium@1.4.777:
|
||||
resolution: {integrity: sha512-n02NCwLJ3wexLfK/yQeqfywCblZqLcXphzmid5e8yVPdtEcida7li0A5WQKghHNG0FeOMCzeFOzEbtAh5riXFw==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex@8.0.0:
|
||||
|
@ -1704,7 +1704,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.9.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.10.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
|
@ -1714,8 +1714,8 @@ packages:
|
|||
debug: 4.3.4
|
||||
enhanced-resolve: 5.16.1
|
||||
eslint: 8.57.0
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
fast-glob: 3.3.2
|
||||
get-tsconfig: 4.7.5
|
||||
is-core-module: 2.13.1
|
||||
|
@ -1727,7 +1727,7 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
/eslint-module-utils@2.8.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
|
@ -1748,11 +1748,11 @@ packages:
|
|||
eslint-import-resolver-webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 3.2.7
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.9.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.10.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
@ -1796,8 +1796,8 @@ packages:
|
|||
eslint: ^8.0.1
|
||||
dependencies:
|
||||
'@github/browserslist-config': 1.0.0
|
||||
'@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/eslint-plugin': 7.10.0(@typescript-eslint/parser@7.10.0)(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
aria-query: 5.3.0
|
||||
eslint: 8.57.0
|
||||
eslint-config-prettier: 9.1.0(eslint@8.57.0)
|
||||
|
@ -1805,7 +1805,7 @@ packages:
|
|||
eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0)
|
||||
eslint-plugin-filenames: 1.3.2(eslint@8.57.0)
|
||||
eslint-plugin-i18n-text: 1.0.1(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
|
||||
eslint-plugin-no-only-tests: 3.1.0
|
||||
eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
|
||||
|
@ -1829,7 +1829,7 @@ packages:
|
|||
eslint: 8.57.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
|
@ -1839,7 +1839,7 @@ packages:
|
|||
'@typescript-eslint/parser':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser': 7.10.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
array-includes: 3.1.8
|
||||
array.prototype.findlastindex: 1.2.5
|
||||
array.prototype.flat: 1.3.2
|
||||
|
@ -1848,7 +1848,7 @@ packages:
|
|||
doctrine: 2.1.0
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.13.1
|
||||
is-glob: 4.0.3
|
||||
|
@ -2054,7 +2054,7 @@ packages:
|
|||
'@nodelib/fs.walk': 1.2.8
|
||||
glob-parent: 5.1.2
|
||||
merge2: 1.4.1
|
||||
micromatch: 4.0.5
|
||||
micromatch: 4.0.7
|
||||
dev: true
|
||||
|
||||
/fast-json-stable-stringify@2.1.0:
|
||||
|
@ -2078,8 +2078,8 @@ packages:
|
|||
flat-cache: 3.2.0
|
||||
dev: true
|
||||
|
||||
/fill-range@7.0.1:
|
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||
/fill-range@7.1.1:
|
||||
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
|
@ -2231,13 +2231,13 @@ packages:
|
|||
is-glob: 4.0.3
|
||||
dev: true
|
||||
|
||||
/glob@10.3.15:
|
||||
resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==}
|
||||
/glob@10.3.16:
|
||||
resolution: {integrity: sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==}
|
||||
engines: {node: '>=16 || 14 >=14.18'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
foreground-child: 3.1.1
|
||||
jackspeak: 2.3.6
|
||||
jackspeak: 3.1.2
|
||||
minimatch: 9.0.4
|
||||
minipass: 7.1.1
|
||||
path-scurry: 1.11.1
|
||||
|
@ -2622,8 +2622,8 @@ packages:
|
|||
set-function-name: 2.0.2
|
||||
dev: true
|
||||
|
||||
/jackspeak@2.3.6:
|
||||
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
|
||||
/jackspeak@3.1.2:
|
||||
resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==}
|
||||
engines: {node: '>=14'}
|
||||
dependencies:
|
||||
'@isaacs/cliui': 8.0.2
|
||||
|
@ -2690,15 +2690,15 @@ packages:
|
|||
dependencies:
|
||||
json-buffer: 3.0.1
|
||||
|
||||
/language-subtag-registry@0.3.22:
|
||||
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
|
||||
/language-subtag-registry@0.3.23:
|
||||
resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
|
||||
dev: true
|
||||
|
||||
/language-tags@1.0.9:
|
||||
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
|
||||
engines: {node: '>=0.10'}
|
||||
dependencies:
|
||||
language-subtag-registry: 0.3.22
|
||||
language-subtag-registry: 0.3.23
|
||||
dev: true
|
||||
|
||||
/levn@0.4.1:
|
||||
|
@ -2777,11 +2777,11 @@ packages:
|
|||
engines: {node: '>= 8'}
|
||||
dev: true
|
||||
|
||||
/micromatch@4.0.5:
|
||||
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
||||
/micromatch@4.0.7:
|
||||
resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
|
||||
engines: {node: '>=8.6'}
|
||||
dependencies:
|
||||
braces: 3.0.2
|
||||
braces: 3.0.3
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
|
@ -3182,29 +3182,29 @@ packages:
|
|||
glob: 7.2.3
|
||||
dev: true
|
||||
|
||||
/rollup@4.17.2:
|
||||
resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
|
||||
/rollup@4.18.0:
|
||||
resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.17.2
|
||||
'@rollup/rollup-android-arm64': 4.17.2
|
||||
'@rollup/rollup-darwin-arm64': 4.17.2
|
||||
'@rollup/rollup-darwin-x64': 4.17.2
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.17.2
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.17.2
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-arm64-musl': 4.17.2
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-x64-gnu': 4.17.2
|
||||
'@rollup/rollup-linux-x64-musl': 4.17.2
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.17.2
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.17.2
|
||||
'@rollup/rollup-win32-x64-msvc': 4.17.2
|
||||
'@rollup/rollup-android-arm-eabi': 4.18.0
|
||||
'@rollup/rollup-android-arm64': 4.18.0
|
||||
'@rollup/rollup-darwin-arm64': 4.18.0
|
||||
'@rollup/rollup-darwin-x64': 4.18.0
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.18.0
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.18.0
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.18.0
|
||||
'@rollup/rollup-linux-arm64-musl': 4.18.0
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.18.0
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.18.0
|
||||
'@rollup/rollup-linux-x64-gnu': 4.18.0
|
||||
'@rollup/rollup-linux-x64-musl': 4.18.0
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.18.0
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.18.0
|
||||
'@rollup/rollup-win32-x64-msvc': 4.18.0
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
|
@ -3398,7 +3398,7 @@ packages:
|
|||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.5
|
||||
commander: 4.1.1
|
||||
glob: 10.3.15
|
||||
glob: 10.3.16
|
||||
lines-and-columns: 1.2.4
|
||||
mz: 2.7.0
|
||||
pirates: 4.0.6
|
||||
|
@ -3543,7 +3543,7 @@ packages:
|
|||
joycon: 3.1.1
|
||||
postcss-load-config: 4.0.2
|
||||
resolve-from: 5.0.0
|
||||
rollup: 4.17.2
|
||||
rollup: 4.18.0
|
||||
source-map: 0.8.0-beta.0
|
||||
sucrase: 3.35.0
|
||||
tree-kill: 1.2.2
|
||||
|
@ -3798,8 +3798,8 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
github.com/DeterminateSystems/detsys-ts/97979f48241e807d76bd9b8cbfc69a245f04894b:
|
||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/97979f48241e807d76bd9b8cbfc69a245f04894b}
|
||||
github.com/DeterminateSystems/detsys-ts/ed02129aed8e4d6402d920152652877189bece70:
|
||||
resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/ed02129aed8e4d6402d920152652877189bece70}
|
||||
name: detsys-ts
|
||||
version: 1.0.0
|
||||
dependencies:
|
||||
|
|
89
src/index.ts
89
src/index.ts
|
@ -1,11 +1,10 @@
|
|||
import * as actionsCore from "@actions/core";
|
||||
import * as actionsExec from "@actions/exec";
|
||||
import { ActionOptions, IdsToolbox, inputs } from "detsys-ts";
|
||||
import { DetSysAction, inputs } from "detsys-ts";
|
||||
|
||||
const EVENT_EXECUTION_FAILURE = "execution_failure";
|
||||
|
||||
class FlakeCheckerAction {
|
||||
idslib: IdsToolbox;
|
||||
class FlakeCheckerAction extends DetSysAction {
|
||||
flakeLockPath: string;
|
||||
nixpkgsKeys: string;
|
||||
checkOutdated: boolean;
|
||||
|
@ -16,7 +15,7 @@ class FlakeCheckerAction {
|
|||
sendStatistics: boolean;
|
||||
|
||||
constructor() {
|
||||
const options: ActionOptions = {
|
||||
super({
|
||||
name: "flake-checker",
|
||||
fetchStyle: "gh-env-style",
|
||||
diagnosticsUrl: new URL(
|
||||
|
@ -24,9 +23,7 @@ class FlakeCheckerAction {
|
|||
),
|
||||
// We don't need Nix in this Action because we fetch a static binary using curl and run it
|
||||
requireNix: "ignore",
|
||||
};
|
||||
|
||||
this.idslib = new IdsToolbox(options);
|
||||
});
|
||||
|
||||
this.flakeLockPath = inputs.getString("flake-lock-path");
|
||||
this.nixpkgsKeys = inputs.getString("nixpkgs-keys");
|
||||
|
@ -38,8 +35,41 @@ class FlakeCheckerAction {
|
|||
this.sendStatistics = inputs.getBool("send-statistics");
|
||||
}
|
||||
|
||||
private async executionEnvironment(): Promise<ExecuteEnvironment> {
|
||||
const executionEnv: ExecuteEnvironment = {};
|
||||
async main(): Promise<void> {
|
||||
await this.checkFlake();
|
||||
}
|
||||
|
||||
// No post step
|
||||
async post(): Promise<void> {}
|
||||
|
||||
private async checkFlake(): Promise<number> {
|
||||
const binaryPath = await this.fetchExecutable();
|
||||
const executionEnv = await this.executionEnvironment();
|
||||
|
||||
actionsCore.debug(
|
||||
`Execution environment: ${JSON.stringify(executionEnv, null, 4)}`,
|
||||
);
|
||||
|
||||
const exitCode = await actionsExec.exec(binaryPath, [], {
|
||||
env: {
|
||||
...executionEnv,
|
||||
...process.env, // To get $PATH, etc
|
||||
},
|
||||
ignoreReturnCode: true,
|
||||
});
|
||||
|
||||
if (exitCode !== 0) {
|
||||
this.recordEvent(EVENT_EXECUTION_FAILURE, {
|
||||
exitCode,
|
||||
});
|
||||
actionsCore.setFailed(`Non-zero exit code of \`${exitCode}\`.`);
|
||||
}
|
||||
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
private async executionEnvironment(): Promise<ExecutionEnvironment> {
|
||||
const executionEnv: ExecutionEnvironment = {};
|
||||
|
||||
executionEnv.NIX_FLAKE_CHECKER_FLAKE_LOCK_PATH = this.flakeLockPath;
|
||||
executionEnv.NIX_FLAKE_CHECKER_NIXPKGS_KEYS = this.nixpkgsKeys;
|
||||
|
@ -70,40 +100,9 @@ class FlakeCheckerAction {
|
|||
|
||||
return executionEnv;
|
||||
}
|
||||
|
||||
async check(): Promise<number> {
|
||||
const sourceBinary = inputs.getStringOrNull("source-binary");
|
||||
|
||||
const binaryPath =
|
||||
sourceBinary !== null && sourceBinary !== ""
|
||||
? sourceBinary
|
||||
: await this.idslib.fetchExecutable();
|
||||
|
||||
const executionEnv = await this.executionEnvironment();
|
||||
actionsCore.debug(
|
||||
`Execution environment: ${JSON.stringify(executionEnv, null, 4)}`,
|
||||
);
|
||||
|
||||
const exitCode = await actionsExec.exec(binaryPath, [], {
|
||||
env: {
|
||||
...executionEnv,
|
||||
...process.env, // To get $PATH, etc
|
||||
},
|
||||
ignoreReturnCode: true,
|
||||
});
|
||||
|
||||
if (exitCode !== 0) {
|
||||
this.idslib.recordEvent(EVENT_EXECUTION_FAILURE, {
|
||||
exitCode,
|
||||
});
|
||||
actionsCore.setFailed(`Non-zero exit code of \`${exitCode}\`.`);
|
||||
}
|
||||
|
||||
return exitCode;
|
||||
}
|
||||
}
|
||||
|
||||
type ExecuteEnvironment = {
|
||||
type ExecutionEnvironment = {
|
||||
// All env vars are strings, no fanciness here.
|
||||
RUST_BACKTRACE?: string;
|
||||
NIX_FLAKE_CHECKER_FLAKE_LOCK_PATH?: string;
|
||||
|
@ -117,13 +116,7 @@ type ExecuteEnvironment = {
|
|||
};
|
||||
|
||||
function main(): void {
|
||||
const checker = new FlakeCheckerAction();
|
||||
|
||||
checker.idslib.onMain(async () => {
|
||||
await checker.check();
|
||||
});
|
||||
|
||||
checker.idslib.execute();
|
||||
new FlakeCheckerAction().execute();
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
Loading…
Add table
Reference in a new issue