Skip to content

Commit

Permalink
workspace can only have one Cargo.lock
Browse files Browse the repository at this point in the history
  • Loading branch information
max-heller committed Nov 25, 2023
1 parent 542fe36 commit 1b681b2
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 43 deletions.
28 changes: 14 additions & 14 deletions dist/restore/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -86960,6 +86960,7 @@ var cache_lib_cache = __nccwpck_require__(7799);




function reportError(e) {
const { commandFailed } = e;
if (commandFailed) {
Expand Down Expand Up @@ -87007,6 +87008,15 @@ function getCacheProvider() {
cache: cache,
};
}
async function utils_exists(path) {
try {
await external_fs_default().promises.access(path);
return true;
}
catch {
return false;
}
}

;// CONCATENATED MODULE: ./src/workspace.ts

Expand Down Expand Up @@ -87199,10 +87209,8 @@ class CacheConfig {
keyFiles.push(cargo_manifest);
}
}
const cargo_locks = sort_and_uniq(workspaceMembers
.map(member => external_path_default().join(member.path, "Cargo.lock"))
.filter((external_fs_default()).existsSync));
for (const cargo_lock of cargo_locks) {
const cargo_lock = external_path_default().join(workspace.root, "Cargo.lock");
if (await utils_exists(cargo_lock)) {
try {
const content = await promises_default().readFile(cargo_lock, { encoding: "utf8" });
const parsed = parse(content);
Expand Down Expand Up @@ -87365,6 +87373,7 @@ function sort_and_uniq(a) {




async function cleanTargetDir(targetDir, packages, checkTimestamp = false) {
lib_core.debug(`cleaning target directory "${targetDir}"`);
// remove all *files* from the profile directory
Expand All @@ -87373,7 +87382,7 @@ async function cleanTargetDir(targetDir, packages, checkTimestamp = false) {
if (dirent.isDirectory()) {
let dirName = external_path_default().join(dir.path, dirent.name);
// is it a profile dir, or a nested target dir?
let isNestedTarget = (await exists(external_path_default().join(dirName, "CACHEDIR.TAG"))) || (await exists(external_path_default().join(dirName, ".rustc_info.json")));
let isNestedTarget = (await utils_exists(external_path_default().join(dirName, "CACHEDIR.TAG"))) || (await utils_exists(external_path_default().join(dirName, ".rustc_info.json")));
try {
if (isNestedTarget) {
await cleanTargetDir(dirName, packages, checkTimestamp);
Expand Down Expand Up @@ -87646,15 +87655,6 @@ async function rmRF(dirName) {
core.debug(`deleting "${dirName}"`);
await io.rmRF(dirName);
}
async function exists(path) {
try {
await external_fs_default().promises.access(path);
return true;
}
catch {
return false;
}
}

;// CONCATENATED MODULE: ./src/restore.ts

Expand Down
26 changes: 13 additions & 13 deletions dist/save/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -86960,6 +86960,7 @@ var cache_lib_cache = __nccwpck_require__(7799);




function reportError(e) {
const { commandFailed } = e;
if (commandFailed) {
Expand Down Expand Up @@ -87007,6 +87008,15 @@ function getCacheProvider() {
cache: cache,
};
}
async function exists(path) {
try {
await external_fs_default().promises.access(path);
return true;
}
catch {
return false;
}
}

;// CONCATENATED MODULE: ./src/workspace.ts

Expand Down Expand Up @@ -87199,10 +87209,8 @@ class CacheConfig {
keyFiles.push(cargo_manifest);
}
}
const cargo_locks = sort_and_uniq(workspaceMembers
.map(member => external_path_default().join(member.path, "Cargo.lock"))
.filter((external_fs_default()).existsSync));
for (const cargo_lock of cargo_locks) {
const cargo_lock = external_path_default().join(workspace.root, "Cargo.lock");
if (await exists(cargo_lock)) {
try {
const content = await promises_default().readFile(cargo_lock, { encoding: "utf8" });
const parsed = parse(content);
Expand Down Expand Up @@ -87365,6 +87373,7 @@ function sort_and_uniq(a) {




async function cleanTargetDir(targetDir, packages, checkTimestamp = false) {
core.debug(`cleaning target directory "${targetDir}"`);
// remove all *files* from the profile directory
Expand Down Expand Up @@ -87646,15 +87655,6 @@ async function rmRF(dirName) {
core.debug(`deleting "${dirName}"`);
await io.rmRF(dirName);
}
async function exists(path) {
try {
await external_fs_default().promises.access(path);
return true;
}
catch {
return false;
}
}

;// CONCATENATED MODULE: ./src/save.ts

Expand Down
10 changes: 1 addition & 9 deletions src/cleanup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import fs from "fs";
import path from "path";

import { CARGO_HOME } from "./config";
import { exists } from "./utils";
import { Packages } from "./workspace";

export async function cleanTargetDir(targetDir: string, packages: Packages, checkTimestamp = false) {
Expand Down Expand Up @@ -308,12 +309,3 @@ async function rmRF(dirName: string) {
core.debug(`deleting "${dirName}"`);
await io.rmRF(dirName);
}

async function exists(path: string) {
try {
await fs.promises.access(path);
return true;
} catch {
return false;
}
}
10 changes: 3 additions & 7 deletions src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import path from "path";
import * as toml from "smol-toml";

import { getCargoBins } from "./cleanup";
import { CacheProvider, getCmdOutput } from "./utils";
import { CacheProvider, exists, getCmdOutput } from "./utils";
import { Workspace } from "./workspace";

const HOME = os.homedir();
Expand Down Expand Up @@ -191,12 +191,8 @@ export class CacheConfig {
}
}

const cargo_locks = sort_and_uniq(workspaceMembers
.map(member => path.join(member.path, "Cargo.lock"))
.filter(fs.existsSync)
);

for (const cargo_lock of cargo_locks) {
const cargo_lock = path.join(workspace.root, "Cargo.lock");
if (await exists(cargo_lock)) {
try {
const content = await fs_promises.readFile(cargo_lock, { encoding: "utf8" });
const parsed = toml.parse(content);
Expand Down
10 changes: 10 additions & 0 deletions src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import * as core from "@actions/core";
import * as exec from "@actions/exec";
import * as buildjetCache from "@actions/buildjet-cache";
import * as ghCache from "@actions/cache";
import fs from "fs";

export function reportError(e: any) {
const { commandFailed } = e;
Expand Down Expand Up @@ -61,3 +62,12 @@ export function getCacheProvider(): CacheProvider {
cache: cache,
};
}

export async function exists(path: string) {
try {
await fs.promises.access(path);
return true;
} catch {
return false;
}
}

0 comments on commit 1b681b2

Please sign in to comment.