summaryrefslogtreecommitdiffhomepage
path: root/script
diff options
context:
space:
mode:
authorLuke Parker <[email protected]>2025-12-19 13:59:46 +1000
committerGitHub <[email protected]>2025-12-18 21:59:46 -0600
commit382905602c61d86d5cacfa28ed00cb69d0a5d4a6 (patch)
tree127a88bc43531897af159d332bd84740c86e4aa4 /script
parent8b5cea78994f4f6da8298d1b3436a9abd3e89194 (diff)
downloadopencode-382905602c61d86d5cacfa28ed00cb69d0a5d4a6.tar.gz
opencode-382905602c61d86d5cacfa28ed00cb69d0a5d4a6.zip
ci: gemini 3 flash doesnt exist in pinned cicd version (#5776)
Diffstat (limited to 'script')
-rw-r--r--script/changelog.ts30
1 files changed, 22 insertions, 8 deletions
diff --git a/script/changelog.ts b/script/changelog.ts
index 184979a1d..8e006382b 100644
--- a/script/changelog.ts
+++ b/script/changelog.ts
@@ -185,23 +185,37 @@ export async function generateChangelog(previous: string, current: string): Prom
const commits = commitsWithMeta.join("\n")
+ if (!commits.trim()) {
+ console.error("No commits found to generate changelog")
+ }
+
// Generate changelog via LLM
// different port to not conflict with dev running opencode
- const opencode = await createOpencode({ port: 8192 })
let raw: string | undefined
try {
- const session = await opencode.client.session.create()
- raw = await opencode.client.session
- .prompt({
- path: { id: session.data!.id },
+ const opencode = await createOpencode({ port: 8192 })
+ try {
+ const session = await opencode.client.session.create()
+ if (!session.data?.id) {
+ console.error("Failed to create session:", session)
+ throw new Error("Failed to create session")
+ }
+ const response = await opencode.client.session.prompt({
+ path: { id: session.data.id },
body: {
model: { providerID: "opencode", modelID: MODEL },
parts: [{ type: "text", text: buildPrompt(previous, commits) }],
},
})
- .then((x) => x.data?.parts?.find((y) => y.type === "text")?.text)
- } finally {
- opencode.server.close()
+ if (!response.data?.parts) {
+ console.error("Empty response from LLM:", response)
+ }
+ raw = response.data?.parts?.find((y) => y.type === "text")?.text
+ } finally {
+ opencode.server.close()
+ }
+ } catch (err) {
+ console.error("Failed to generate changelog via LLM:", err)
}
const notes = parseChangelog(raw ?? "")