wait for done.json only if agent is installed

This commit is contained in:
Jatin
2026-02-03 17:59:09 +05:30
parent e823d39c9a
commit ec2fee99eb
3 changed files with 61 additions and 49 deletions
+32 -26
View File
@@ -34409,11 +34409,11 @@ function chownForFolder(newOwner, target) {
function isAgentInstalled(platform) {
switch (platform) {
case "linux":
return fs.existsSync("/home/agent/agent.status");
return external_fs_.existsSync("/home/agent/agent.status");
case "win32":
return fs.existsSync("C:\\agent\\agent.status");
return external_fs_.existsSync("C:\\agent\\agent.status");
case "darwin":
return fs.existsSync("/opt/step-security/agent.status");
return external_fs_.existsSync("/opt/step-security/agent.status");
default:
return false;
}
@@ -34799,20 +34799,23 @@ function handleMacosCleanup() {
return;
}
external_fs_.writeFileSync(post_event, JSON.stringify({ event: "post" }));
let macDone = "/opt/step-security/done.json";
let counter = 0;
while (true) {
if (!external_fs_.existsSync(macDone)) {
counter++;
if (counter > 10) {
console.log("timed out");
// if agent is installed; wait for it to create done.json
if (isAgentInstalled(process.platform)) {
let macDone = "/opt/step-security/done.json";
let counter = 0;
while (true) {
if (!external_fs_.existsSync(macDone)) {
counter++;
if (counter > 10) {
console.log("timed out");
break;
}
yield sleep(1000);
}
else {
// The file *does* exist
break;
}
yield sleep(1000);
}
else {
// The file *does* exist
break;
}
}
let macAgentLog = "/opt/step-security/agent.log";
@@ -34856,19 +34859,22 @@ function handleWindowsCleanup() {
], { stdio: ["ignore", "pipe", "pipe"], shell: false, windowsHide: true });
p.unref();
external_fs_.writeFileSync(postEventFile, JSON.stringify({ event: "post" }));
const doneFile = external_path_.join(agentDir, "done.json");
let counter = 0;
while (true) {
if (!external_fs_.existsSync(doneFile)) {
counter++;
if (counter > 10) {
console.log("timed out");
// if agent is installed; wait for it to create done.json
if (isAgentInstalled(process.platform)) {
const doneFile = external_path_.join(agentDir, "done.json");
let counter = 0;
while (true) {
if (!external_fs_.existsSync(doneFile)) {
counter++;
if (counter > 10) {
console.log("timed out");
break;
}
yield sleep(1000);
}
else {
break;
}
yield sleep(1000);
}
else {
break;
}
}
console.log("stopping windows agent process...");
+1 -1
View File
File diff suppressed because one or more lines are too long
+28 -22
View File
@@ -6,7 +6,7 @@ import isDocker from "is-docker";
import { isARCRunner } from "./arc-runner";
import { isGithubHosted } from "./tls-inspect";
import { context } from "@actions/github";
import { isPlatformSupported } from "./utils";
import { isPlatformSupported, isAgentInstalled } from "./utils";
(async () => {
console.log("[harden-runner] post-step");
@@ -149,19 +149,22 @@ async function handleMacosCleanup() {
fs.writeFileSync(post_event, JSON.stringify({ event: "post" }));
let macDone = "/opt/step-security/done.json";
let counter = 0;
while (true) {
if (!fs.existsSync(macDone)) {
counter++;
if (counter > 10) {
console.log("timed out");
// if agent is installed; wait for it to create done.json
if (isAgentInstalled(process.platform)) {
let macDone = "/opt/step-security/done.json";
let counter = 0;
while (true) {
if (!fs.existsSync(macDone)) {
counter++;
if (counter > 10) {
console.log("timed out");
break;
}
await sleep(1000);
} else {
// The file *does* exist
break;
}
await sleep(1000);
} else {
// The file *does* exist
break;
}
}
@@ -215,18 +218,21 @@ async function handleWindowsCleanup() {
fs.writeFileSync(postEventFile, JSON.stringify({ event: "post" }));
const doneFile = path.join(agentDir, "done.json");
let counter = 0;
while (true) {
if (!fs.existsSync(doneFile)) {
counter++;
if (counter > 10) {
console.log("timed out");
// if agent is installed; wait for it to create done.json
if (isAgentInstalled(process.platform)) {
const doneFile = path.join(agentDir, "done.json");
let counter = 0;
while (true) {
if (!fs.existsSync(doneFile)) {
counter++;
if (counter > 10) {
console.log("timed out");
break;
}
await sleep(1000);
} else {
break;
}
await sleep(1000);
} else {
break;
}
}