diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3320be9521..916cf1ab2a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -69,6 +69,7 @@ jobs: ./packages/opencode/script/build.ts env: OPENCODE_VERSION: ${{ needs.version.outputs.version }} + OPENCODE_RELEASE: ${{ needs.version.outputs.release }} - uses: actions/upload-artifact@v4 with: diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts index 12902b1cfc..982fd6e597 100755 --- a/packages/opencode/script/build.ts +++ b/packages/opencode/script/build.ts @@ -179,4 +179,17 @@ for (const item of targets) { binaries[name] = Script.version } +for (const key of Object.keys(binaries)) { + if (key.includes("linux")) { + await $`tar -czf ../../${key}.tar.gz *`.cwd(`dist/${key}/bin`) + } else { + await $`zip -r ../../${key}.zip *`.cwd(`dist/${key}/bin`) + } +} +if (!Script.release) { + throw new Error("Missing OPENCODE_RELEASE environment variable") +} + +await $`gh release upload v${Script.release} ./dist/*.zip ./dist/*.tar.gz --clobber` + export { binaries } diff --git a/script/publish.ts b/script/publish.ts index d93f4a89e1..26604208dd 100755 --- a/script/publish.ts +++ b/script/publish.ts @@ -79,7 +79,7 @@ await $`gh release edit ${Script.release} --draft --title "v${Script.version}" - console.log("\n=== cli ===\n") await import(`../packages/opencode/script/publish.ts`) -await $`gh release upload v${Script.version} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz --clobber` +await $`gh release upload v${Script.release} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz --clobber` console.log("\n=== sdk ===\n") await import(`../packages/sdk/js/script/publish.ts`)