Skip to content

Commit cfbbae7

Browse files
committed
ci
1 parent 940f971 commit cfbbae7

1 file changed

Lines changed: 27 additions & 26 deletions

File tree

script/publish.ts

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ console.log("=== publishing ===\n")
88

99
const dir = fileURLToPath(new URL("..", import.meta.url))
1010
process.chdir(dir)
11-
1211
const tag = `v${Script.version}`
1312

1413
const pkgjsons = await Array.fromAsync(
@@ -17,54 +16,56 @@ const pkgjsons = await Array.fromAsync(
1716
}),
1817
).then((arr) => arr.filter((x) => !x.includes("node_modules") && !x.includes("dist")))
1918

19+
async function prepareReleaseFiles() {
20+
for (const file of pkgjsons) {
21+
let pkg = await Bun.file(file).text()
22+
pkg = pkg.replaceAll(/"version": "[^"]+"/g, `"version": "${Script.version}"`)
23+
console.log("updated:", file)
24+
await Bun.file(file).write(pkg)
25+
}
26+
27+
const extensionToml = fileURLToPath(new URL("../packages/extensions/zed/extension.toml", import.meta.url))
28+
let toml = await Bun.file(extensionToml).text()
29+
toml = toml.replace(/^version = "[^"]+"/m, `version = "${Script.version}"`)
30+
toml = toml.replaceAll(/releases\/download\/v[^/]+\//g, `releases/download/v${Script.version}/`)
31+
console.log("updated:", extensionToml)
32+
await Bun.file(extensionToml).write(toml)
33+
34+
await $`bun install`
35+
await $`./packages/sdk/js/script/build.ts`
36+
}
37+
2038
if (Script.release && !Script.preview) {
2139
await $`git fetch origin --tags`
2240
await $`git switch --detach`
2341
}
2442

25-
for (const file of pkgjsons) {
26-
let pkg = await Bun.file(file).text()
27-
pkg = pkg.replaceAll(/"version": "[^"]+"/g, `"version": "${Script.version}"`)
28-
console.log("updated:", file)
29-
await Bun.file(file).write(pkg)
30-
}
31-
32-
const extensionToml = fileURLToPath(new URL("../packages/extensions/zed/extension.toml", import.meta.url))
33-
let toml = await Bun.file(extensionToml).text()
34-
toml = toml.replace(/^version = "[^"]+"/m, `version = "${Script.version}"`)
35-
toml = toml.replaceAll(/releases\/download\/v[^/]+\//g, `releases/download/v${Script.version}/`)
36-
console.log("updated:", extensionToml)
37-
await Bun.file(extensionToml).write(toml)
38-
39-
await $`bun install`
40-
await import(`../packages/sdk/js/script/build.ts`)
41-
process.chdir(dir)
43+
await prepareReleaseFiles()
4244

4345
console.log("\n=== cli ===\n")
44-
await import(`../packages/opencode/script/publish.ts`)
46+
await $`bun ./packages/opencode/script/publish.ts`
4547

4648
console.log("\n=== sdk ===\n")
47-
await import(`../packages/sdk/js/script/publish.ts`)
49+
await $`bun ./packages/sdk/js/script/publish.ts`
4850

4951
console.log("\n=== plugin ===\n")
50-
await import(`../packages/plugin/script/publish.ts`)
52+
await $`bun ./packages/plugin/script/publish.ts`
5153

5254
if (Script.release) {
53-
await import(`../packages/desktop/scripts/finalize-latest-json.ts`)
54-
await import(`../packages/desktop-electron/scripts/finalize-latest-yml.ts`)
55+
await $`bun ./packages/desktop/scripts/finalize-latest-json.ts`
56+
await $`bun ./packages/desktop-electron/scripts/finalize-latest-yml.ts`
5557
}
5658

5759
if (Script.release && !Script.preview) {
58-
process.chdir(dir)
5960
await $`git commit -am "release: ${tag}"`
60-
const releaseCommit = (await $`git rev-parse HEAD`.text()).trim()
6161
await $`git tag -d ${tag}`.nothrow()
6262
await $`git tag ${tag}`
6363
await $`git push origin refs/tags/${tag} --force-with-lease --no-verify`
6464
await new Promise((resolve) => setTimeout(resolve, 5_000))
6565
await $`git fetch origin`
6666
await $`git checkout -B dev origin/dev`
67-
await $`git cherry-pick ${releaseCommit}`
67+
await prepareReleaseFiles()
68+
await $`git commit -am "sync release versions for ${tag}"`
6869
await $`git push origin HEAD:dev --no-verify`
6970
}
7071

0 commit comments

Comments
 (0)