From 943fbf39a333ab4182e6f598c89f995d5063dbe1 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Sat, 20 Dec 2025 02:22:17 +0800 Subject: ci: separate standalone publishing from dependent publishing (#5634) Co-authored-by: GitHub Action --- script/publish.ts | 72 ------------------------------------------------------- 1 file changed, 72 deletions(-) delete mode 100755 script/publish.ts (limited to 'script/publish.ts') diff --git a/script/publish.ts b/script/publish.ts deleted file mode 100755 index d11b435b4..000000000 --- a/script/publish.ts +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bun - -import { $ } from "bun" -import { Script } from "@opencode-ai/script" -import { generateChangelog } from "./changelog" - -let notes = "" - -console.log("=== publishing ===\n") - -if (!Script.preview) { - const previous = await fetch("https://registry.npmjs.org/opencode-ai/latest") - .then((res) => { - if (!res.ok) throw new Error(res.statusText) - return res.json() - }) - .then((data: any) => data.version) - - console.log("generating changelog since " + previous) - notes = await generateChangelog(`v${previous}`, "HEAD") - console.log("---- Generated Changelog ----") - console.log(notes) - console.log("-----------------------------") -} - -const pkgjsons = await Array.fromAsync( - new Bun.Glob("**/package.json").scan({ - absolute: true, - }), -).then((arr) => arr.filter((x) => !x.includes("node_modules") && !x.includes("dist"))) - -for (const file of pkgjsons) { - let pkg = await Bun.file(file).text() - pkg = pkg.replaceAll(/"version": "[^"]+"/g, `"version": "${Script.version}"`) - console.log("updated:", file) - await Bun.file(file).write(pkg) -} - -const extensionToml = new URL("../packages/extensions/zed/extension.toml", import.meta.url).pathname -let toml = await Bun.file(extensionToml).text() -toml = toml.replace(/^version = "[^"]+"/m, `version = "${Script.version}"`) -toml = toml.replaceAll(/releases\/download\/v[^/]+\//g, `releases/download/v${Script.version}/`) -console.log("updated:", extensionToml) -await Bun.file(extensionToml).write(toml) - -await $`bun install` - -console.log("\n=== opencode ===\n") -await import(`../packages/opencode/script/publish.ts`) - -console.log("\n=== sdk ===\n") -await import(`../packages/sdk/js/script/publish.ts`) - -console.log("\n=== plugin ===\n") -await import(`../packages/plugin/script/publish.ts`) - -const dir = new URL("..", import.meta.url).pathname -process.chdir(dir) - -if (!Script.preview) { - await $`git commit -am "release: v${Script.version}"` - await $`git tag v${Script.version}` - await $`git fetch origin` - await $`git cherry-pick HEAD..origin/dev`.nothrow() - await $`git push origin HEAD --tags --no-verify --force-with-lease` - await new Promise((resolve) => setTimeout(resolve, 5_000)) - await $`gh release create v${Script.version} -d --title "v${Script.version}" --notes ${notes || "No notable changes"} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz` - const release = await $`gh release view v${Script.version} --json id,tagName`.json() - if (process.env.GITHUB_OUTPUT) { - await Bun.write(process.env.GITHUB_OUTPUT, `releaseId=${release.id}\ntagName=${release.tagName}\n`) - } -} -- cgit v1.2.3