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
This commit is contained in:
2025-07-04 11:50:24 +02:00
parent 466c1c4918
commit 18b493d524
2 changed files with 21 additions and 10 deletions

4
dist/main.js vendored
View File

@@ -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);

27
dist/post.js vendored
View File

@@ -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"));
}
}