chore: configure releases and develop workflow

This commit is contained in:
2026-09-14 07:02:45 +03:00
parent dc3434c371
commit 53b18c6e86
12 changed files with 2398 additions and 20 deletions
+25
View File
@@ -0,0 +1,25 @@
const assert = require("node:assert/strict");
const { execFileSync } = require("node:child_process");
const { version } = require("../package.json");
const git = (...args) => execFileSync("git", args, { encoding: "utf8" }).trim();
assert.equal(
git("status", "--porcelain"),
"",
"Commit all changes before preparing a release",
);
const tags = git(
"tag",
"--merged",
"HEAD",
"--list",
"v[0-9]*",
"--sort=-version:refname",
)
.split("\n")
.filter((tag) => /^v\d+\.\d+\.\d+$/.test(tag));
assert.equal(
version,
tags[0]?.slice(1) ?? "0.0.0",
"Version is already prepared or release tags are missing. Fetch tags; finish the existing release before preparing another.",
);