From d77b87ea651e04fa22ca3b2be1b61f8554805dfc Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Tue, 30 Jun 2026 23:05:46 -0400 Subject: [PATCH] feat(script): use GitHub run number for preview build identifier --- packages/script/src/index.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/script/src/index.ts b/packages/script/src/index.ts index d148ce0d2b..8c91c08842 100644 --- a/packages/script/src/index.ts +++ b/packages/script/src/index.ts @@ -33,7 +33,7 @@ const IS_PREVIEW = CHANNEL !== "latest" const VERSION = await (async () => { if (env.OPENCODE_VERSION) return env.OPENCODE_VERSION - if (IS_PREVIEW) return `0.0.0-${CHANNEL}-${new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "")}` + if (IS_PREVIEW) return `0.0.0-${CHANNEL}-${previewBuildNumber()}` const version = await fetch("https://registry.npmjs.org/opencode-ai/latest") .then((res) => { if (!res.ok) throw new Error(res.statusText) @@ -47,6 +47,14 @@ const VERSION = await (async () => { return `${major}.${minor}.${patch + 1}` })() +function previewBuildNumber() { + const runNumber = process.env["GITHUB_RUN_NUMBER"] + if (!runNumber) return new Date().toISOString().slice(0, 16).replace(/[-:T]/g, "") + const runAttempt = process.env["GITHUB_RUN_ATTEMPT"] + if (runAttempt && runAttempt !== "1") return `${runNumber}.${runAttempt}` + return runNumber +} + const bot = ["actions-user", "opencode", "opencode-agent[bot]"] const teamPath = path.resolve(import.meta.dir, "../../../.github/TEAM_MEMBERS") const team = [