From 18b493d524630e8da304e2a8ec098415fa9140e1 Mon Sep 17 00:00:00 2001 From: "Max P." Date: Fri, 4 Jul 2025 11:50:24 +0200 Subject: [PATCH] refactor(scripts): simplify path management and command execution - Replaces hardcoded script paths with a reusable helper function - Enhances command execution logic for flexibility and readability - Improves maintainability by consolidating path construction logic --- dist/main.js | 4 ++-- dist/post.js | 27 +++++++++++++++++++-------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/dist/main.js b/dist/main.js index a9dfd3c..cc17bef 100644 --- a/dist/main.js +++ b/dist/main.js @@ -15,8 +15,8 @@ function setEnv(key, value) { } function main() { - const actionPath = process.env.GITHUB_ACTION_PATH || "."; - const script = path.join("./", "scripts/detect-version-change.sh"); + const script = path.join(__dirname, "scripts", "detect-version-change.sh"); + run(script); diff --git a/dist/post.js b/dist/post.js index d327432..502cb84 100644 --- a/dist/post.js +++ b/dist/post.js @@ -2,29 +2,40 @@ const cp = require("child_process"); const path = require("path"); function run(script, args = []) { - cp.execFileSync(script, { + const cmd = typeof script === "string" ? script : script.join(" "); + cp.execSync(cmd, { stdio: "inherit", shell: true, env: process.env, }); } +function scriptPath(...segments) { + return path.join(__dirname, "scripts", ...segments); +} + function main() { - const actionPath = process.env.GITHUB_ACTION_PATH || "."; const versionChanged = (process.env.VERSION_CHANGED || "false").toLowerCase() === "true"; - const readCliff = path.join(actionPath, "scripts/read-cliff-version.sh"); - const cliffVersion = cp.execSync(readCliff, { encoding: "utf-8", shell: true }).trim().split("\n").pop(); + const readCliffScript = scriptPath("read-cliff-version.sh"); + const cliffVersion = cp + .execSync(readCliffScript, { encoding: "utf-8", shell: true }) + .trim() + .split("\n") + .pop(); - run(path.join(actionPath, "scripts/install-git-cliff.sh"), [cliffVersion]); + run(scriptPath("install-git-cliff.sh") + " " + cliffVersion); - run(`${path.join(actionPath, "scripts/setup-git.sh")} "${process.env.INPUT_AUTHOR_NAME}" "${process.env.INPUT_AUTHOR_EMAIL}"`); + run( + scriptPath("setup-git.sh") + + ` "${process.env.INPUT_AUTHOR_NAME}" "${process.env.INPUT_AUTHOR_EMAIL}"` + ); if (versionChanged) { process.env.RELEASE_PUBLISH_TOKEN = process.env.INPUT_TOKEN || ""; - run(path.join(actionPath, "scripts/release-from-version.sh")); + run(scriptPath("release-from-version.sh")); } else { - run(path.join(actionPath, "scripts/generate-unreleased-changelog.sh")); + run(scriptPath("generate-unreleased-changelog.sh")); } }