summaryrefslogtreecommitdiffhomepage
path: root/script
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-09-10 04:23:43 -0400
committerDax Raad <[email protected]>2025-09-10 04:23:57 -0400
commit6960408ca226703cc5837eac0b4ffc6d077a0bdd (patch)
tree81d647e258bea76c39aa8cf300b346cdfec6b286 /script
parentfa36195492196fb7e11c0f0fe2586dabd844129a (diff)
downloadopencode-6960408ca226703cc5837eac0b4ffc6d077a0bdd.tar.gz
opencode-6960408ca226703cc5837eac0b4ffc6d077a0bdd.zip
ci: bump version
Diffstat (limited to 'script')
-rwxr-xr-xscript/publish.ts18
1 files changed, 12 insertions, 6 deletions
diff --git a/script/publish.ts b/script/publish.ts
index 9b3ea450e..4aedc9dc5 100755
--- a/script/publish.ts
+++ b/script/publish.ts
@@ -9,12 +9,18 @@ if (process.versions.bun !== "1.2.21") {
console.log("=== publishing ===\n")
const snapshot = process.env["OPENCODE_SNAPSHOT"] === "true"
-const version = snapshot
- ? `0.0.0-${new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "")}`
- : process.env["OPENCODE_VERSION"]
-if (!version) {
- throw new Error("OPENCODE_VERSION is required")
-}
+const version = await (async () => {
+ if (snapshot) return `0.0.0-${new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "")}`
+ const [major, minor, patch] = (await $`gh release list --limit 1 --json tagName --jq '.[0].tagName'`.text())
+ .trim()
+ .replace(/^v/, "")
+ .split(".")
+ .map((x) => Number(x) || 0)
+ const t = process.env["OPENCODE_BUMP"]?.toLowerCase()
+ if (t === "major") return `${major + 1}.0.0`
+ if (t === "minor") return `${major}.${minor + 1}.0`
+ return `${major}.${minor}.${patch + 1}`
+})()
process.env["OPENCODE_VERSION"] = version
console.log("version:", version)