From 1d972d6bae199aeb6693cb9813a2f26c15d408c9 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Thu, 29 Jan 2026 09:34:55 -0500 Subject: [PATCH] sync --- .github/workflows/publish.yml | 31 ++++++++++++++++++++++------- packages/opencode/script/publish.ts | 13 +++++++++--- script/version.ts | 7 +++++++ 3 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 script/version.ts diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8d7a823b14..990b524643 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,6 +4,7 @@ run-name: "${{ format('release {0}', inputs.bump) }}" on: push: branches: + - ci - dev - snapshot-* workflow_dispatch: @@ -29,7 +30,22 @@ permissions: packages: write jobs: - publish: + version: + runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'anomalyco/opencode' + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: ./.github/actions/setup-bun + - id: version + run: | + ./script/version.ts + outputs: + version: ${{ steps.version.outputs.version }} + + build-cli: + needs: version runs-on: blacksmith-4vcpu-ubuntu-2404 if: github.repository == 'anomalyco/opencode' steps: @@ -69,9 +85,10 @@ jobs: git config --global user.name "opencode" git remote set-url origin https://x-access-token:${{ secrets.SST_GITHUB_TOKEN }}@github.com/${{ github.repository }} - - name: Publish - id: publish - run: ./script/publish-start.ts + - name: Build + id: build + run: | + ./packages/script/build.ts env: OPENCODE_BUMP: ${{ inputs.bump }} OPENCODE_VERSION: ${{ inputs.version }} @@ -86,12 +103,12 @@ jobs: path: packages/opencode/dist outputs: - release: ${{ steps.publish.outputs.release }} + release: ${{ steps.build-cli.outputs.release }} tag: ${{ steps.publish.outputs.tag }} version: ${{ steps.publish.outputs.version }} - publish-tauri: - needs: publish + build-tauri: + needs: build continue-on-error: false strategy: fail-fast: false diff --git a/packages/opencode/script/publish.ts b/packages/opencode/script/publish.ts index 4e5846d27e..709007afdd 100755 --- a/packages/opencode/script/publish.ts +++ b/packages/opencode/script/publish.ts @@ -7,7 +7,14 @@ import { fileURLToPath } from "url" const dir = fileURLToPath(new URL("..", import.meta.url)) process.chdir(dir) -const { binaries } = await import("./build.ts") +const binaries: Record = {} +for (const filepath of new Bun.Glob("*/package.json").scanSync({ cwd: "./dist" })) { + const pkg = await Bun.file(`./dist/${filepath}`).json() + binaries[pkg.name] = pkg.version +} +console.log("binaries", binaries) +const version = Object.values(binaries)[0] + { const name = `${pkg.name}-${process.platform}-${process.arch}` console.log(`smoke test: running dist/${name}/bin/opencode --version`) @@ -28,7 +35,7 @@ await Bun.file(`./dist/${pkg.name}/package.json`).write( scripts: { postinstall: "bun ./postinstall.mjs || node ./postinstall.mjs", }, - version: Script.version, + version: version, optionalDependencies: binaries, }, null, @@ -64,7 +71,7 @@ if (!Script.preview) { const image = "ghcr.io/anomalyco/opencode" const platforms = "linux/amd64,linux/arm64" - const tags = [`${image}:${Script.version}`, `${image}:latest`] + const tags = [`${image}:${version}`, `${image}:latest`] const tagFlags = tags.flatMap((t) => ["-t", t]) await $`docker buildx build --platform ${platforms} ${tagFlags} --push .` } diff --git a/script/version.ts b/script/version.ts new file mode 100644 index 0000000000..20936e2b0b --- /dev/null +++ b/script/version.ts @@ -0,0 +1,7 @@ +import { Script } from "@opencode-ai/script" + +let output = `version=${Script.version}\n` + +if (process.env.GITHUB_OUTPUT) { + await Bun.write(process.env.GITHUB_OUTPUT, output) +}