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:
4
dist/main.js
vendored
4
dist/main.js
vendored
@@ -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
27
dist/post.js
vendored
@@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user