Download script/version.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.42 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/script/version.ts
- Command line
-
hf download hf://SaylorTwift/opencode/script/version.ts
-
curl -L -o version.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/script/version.ts
1.42 kB
| import { Script } from "@opencode-ai/script" | |
| import { $ } from "bun" | |
| const output = [`version=${Script.version}`] | |
| const sha = process.env.GITHUB_SHA ?? (await $`git rev-parse HEAD`.text()).trim() | |
| if (!Script.preview) { | |
| await $`bun script/changelog.ts --to ${sha}`.cwd(process.cwd()) | |
| const file = `${process.cwd()}/UPCOMING_CHANGELOG.md` | |
| const body = await Bun.file(file) | |
| .text() | |
| .catch(() => "No notable changes") | |
| const dir = process.env.RUNNER_TEMP ?? "/tmp" | |
| const notesFile = `${dir}/opencode-release-notes.txt` | |
| await Bun.write(notesFile, body) | |
| await $`gh release create v${Script.version} -d --target ${sha} --title "v${Script.version}" --notes-file ${notesFile}` | |
| const release = await $`gh release view v${Script.version} --json tagName,databaseId`.json() | |
| output.push(`release=${release.databaseId}`) | |
| output.push(`tag=${release.tagName}`) | |
| } else if (Script.channel === "beta") { | |
| await $`gh release create v${Script.version} -d --title "v${Script.version}" --repo ${process.env.GH_REPO}` | |
| const release = | |
| await $`gh release view v${Script.version} --json tagName,databaseId --repo ${process.env.GH_REPO}`.json() | |
| output.push(`release=${release.databaseId}`) | |
| output.push(`tag=${release.tagName}`) | |
| } | |
| output.push(`repo=${process.env.GH_REPO}`) | |
| if (process.env.GITHUB_OUTPUT) { | |
| await Bun.write(process.env.GITHUB_OUTPUT, output.join("\n")) | |
| } | |
| process.exit(0) | |