ci: publish

This commit is contained in:
Dax Raad
2025-10-05 07:14:52 -04:00
parent 1bb664869c
commit aced8c95f2

View File

@@ -14,11 +14,13 @@ const snapshot = process.env["OPENCODE_SNAPSHOT"] === "true"
const version = await (async () => { const version = await (async () => {
if (snapshot) return `0.0.0-${new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "")}` if (snapshot) return `0.0.0-${new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "")}`
if (process.env["OPENCODE_VERSION"]) return process.env["OPENCODE_VERSION"] if (process.env["OPENCODE_VERSION"]) return process.env["OPENCODE_VERSION"]
const [major, minor, patch] = (await $`gh release list --limit 1 --json tagName --jq '.[0].tagName'`.text()) const npmVersion = await fetch("https://registry.npmjs.org/opencode-ai/latest")
.trim() .then((res) => {
.replace(/^v/, "") if (!res.ok) throw new Error(res.statusText)
.split(".") return res.json()
.map((x) => Number(x) || 0) })
.then((data: any) => data.version)
const [major, minor, patch] = npmVersion.split(".").map((x: string) => Number(x) || 0)
const t = process.env["OPENCODE_BUMP"]?.toLowerCase() const t = process.env["OPENCODE_BUMP"]?.toLowerCase()
if (t === "major") return `${major + 1}.0.0` if (t === "major") return `${major + 1}.0.0`
if (t === "minor") return `${major}.${minor + 1}.0` if (t === "minor") return `${major}.${minor + 1}.0`
@@ -28,12 +30,12 @@ process.env["OPENCODE_VERSION"] = version
console.log("version:", version) console.log("version:", version)
if (!snapshot) { if (!snapshot) {
const previous = await fetch("https://api.github.com/repos/sst/opencode/releases/latest") const previous = await fetch("https://registry.npmjs.org/opencode-ai/latest")
.then((res) => { .then((res) => {
if (!res.ok) throw new Error(res.statusText) if (!res.ok) throw new Error(res.statusText)
return res.json() return res.json()
}) })
.then((data) => data.tag_name) .then((data: any) => data.version)
const opencode = await createOpencode() const opencode = await createOpencode()
const session = await opencode.client.session.create() const session = await opencode.client.session.create()