Add version bump script
parent
0b504c7df2
commit
9a5b692204
|
@ -0,0 +1,52 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
const fs = require("fs");
|
||||||
|
const util = require("util");
|
||||||
|
const exec = util.promisify(require("child_process").exec);
|
||||||
|
|
||||||
|
function patch(version) {
|
||||||
|
const parts = version.split(".");
|
||||||
|
return `${parts[0]}.${Number(parts[1]) + 1}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function today(version) {
|
||||||
|
const now = new Date();
|
||||||
|
return `${now.getFullYear()}${now.getMonth() + 1}${now.getDate()}.0`;
|
||||||
|
}
|
||||||
|
|
||||||
|
const methods = {
|
||||||
|
patch,
|
||||||
|
today,
|
||||||
|
};
|
||||||
|
|
||||||
|
async function main(args) {
|
||||||
|
const method = args.length > 0 && methods[args[0]];
|
||||||
|
const commit = args.length > 1 && args[1] == "--commit";
|
||||||
|
|
||||||
|
if (!method) {
|
||||||
|
console.error(
|
||||||
|
"Missing required method. Choose from",
|
||||||
|
Object.keys(methods).join(", ")
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const setup = fs.readFileSync("setup.py", "utf8");
|
||||||
|
const version = setup.match(/\d{8}\.\d+/)[0];
|
||||||
|
const newVersion = method(version);
|
||||||
|
|
||||||
|
console.log("Current version:", version);
|
||||||
|
console.log("New version:", newVersion);
|
||||||
|
|
||||||
|
fs.writeFileSync("setup.py", setup.replace(version, newVersion), "utf-8");
|
||||||
|
|
||||||
|
if (!commit) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { stdout } = await exec(
|
||||||
|
`git commit -am "Bumped version to ${newVersion}"`
|
||||||
|
);
|
||||||
|
console.log(stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
main(process.argv.slice(2));
|
Loading…
Reference in New Issue