From f7f3ed1fa9df9f3ba0c15c182c55680ba770c1a6 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 22:51:31 +0800 Subject: [PATCH 1/9] don't make release public until finished --- .github/workflows/publish.yml | 8 ++++++++ script/publish.ts | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ebfc5059bf37..a9ca445af4cb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -197,3 +197,11 @@ jobs: releaseId: ${{ needs.publish.outputs.releaseId }} tagName: ${{ needs.publish.outputs.tagName }} releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext] + + publish-release: + needs: + - publish + - publish-tauri + runs-on: blacksmith-4vcpu-ubuntu-2404 + steps: + - run: gh release edit ${{ steps.publish.outputs.tagName }} --draft=false diff --git a/script/publish.ts b/script/publish.ts index 29b47fa68aea..121da8baaaef 100755 --- a/script/publish.ts +++ b/script/publish.ts @@ -155,7 +155,7 @@ if (!Script.preview) { await $`git cherry-pick HEAD..origin/dev`.nothrow() await $`git push origin HEAD --tags --no-verify --force-with-lease` await new Promise((resolve) => setTimeout(resolve, 5_000)) - await $`gh release create v${Script.version} --title "v${Script.version}" --notes ${notes.join("\n") || "No notable changes"} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz` + await $`gh release create v${Script.version} -d --title "v${Script.version}" --notes ${notes.join("\n") || "No notable changes"} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz` const release = await $`gh release view v${Script.version} --json id,tagName`.json() if (process.env.GITHUB_OUTPUT) { await Bun.write(process.env.GITHUB_OUTPUT, `releaseId=${release.id}\ntagName=${release.tagName}\n`) From 03f0b6dd7acc4c57c5c7b3b413eef04b282bf727 Mon Sep 17 00:00:00 2001 From: opencode Date: Tue, 16 Dec 2025 14:56:33 +0000 Subject: [PATCH 2/9] release: v1.0.163 --- .opencode/bun.lock | 6 +++--- .opencode/package.json | 2 +- bun.lock | 30 +++++++++++++------------- packages/console/app/package.json | 2 +- packages/console/core/package.json | 2 +- packages/console/function/package.json | 2 +- packages/console/mail/package.json | 2 +- packages/desktop/package.json | 2 +- packages/enterprise/package.json | 2 +- packages/extensions/zed/extension.toml | 12 +++++------ packages/function/package.json | 2 +- packages/opencode/package.json | 2 +- packages/plugin/package.json | 4 ++-- packages/sdk/js/package.json | 4 ++-- packages/slack/package.json | 2 +- packages/tauri/package.json | 2 +- packages/ui/package.json | 2 +- packages/util/package.json | 2 +- packages/web/package.json | 2 +- sdks/vscode/package.json | 2 +- 20 files changed, 43 insertions(+), 43 deletions(-) diff --git a/.opencode/bun.lock b/.opencode/bun.lock index f152a1646f6b..b7513c715ec9 100644 --- a/.opencode/bun.lock +++ b/.opencode/bun.lock @@ -5,7 +5,7 @@ "": { "dependencies": { "@octokit/rest": "^22.0.1", - "@opencode-ai/plugin": "0.0.0-dev-202512160508", + "@opencode-ai/plugin": "1.0.143", }, }, }, @@ -34,9 +34,9 @@ "@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - "@opencode-ai/plugin": ["@opencode-ai/plugin@0.0.0-dev-202512160508", "", { "dependencies": { "@opencode-ai/sdk": "0.0.0-dev-202512160508", "zod": "4.1.8" } }, "sha512-GLnvMQhEWRHG9E84FyyQKPKi54bGUkytXPfZYjwNy9W6djw8zAW/kpeYPrdIJHPdTHk4OjIHEwoB1SXZzGaLFQ=="], + "@opencode-ai/plugin": ["@opencode-ai/plugin@1.0.143", "", { "dependencies": { "@opencode-ai/sdk": "1.0.143", "zod": "4.1.8" } }, "sha512-yzaCmdazVJMDADJLbMM8KGp1X+Hd/HVyIXMlNt9qcvz/fcs/ET4EwHJsJaQi/9m/jLJ+plwBJAeIW08BMrECPg=="], - "@opencode-ai/sdk": ["@opencode-ai/sdk@0.0.0-dev-202512160508", "", {}, "sha512-ICpZ1bX528yQKqYGGyUJQMu3RY0F1pQ6RCoTJ4ESLiYmcXUY1EldgIidiwPA+A/zpEXLu2lPwPZ1LYn/bX6aFA=="], + "@opencode-ai/sdk": ["@opencode-ai/sdk@1.0.143", "", {}, "sha512-dtmkBfJ7IIAHzL6KCzAlwc9GybfJONVeCsF6ePYySpkuhslDbRkZBJYb5vqGd1H5zdsgjc6JjuvmOf0rPWUL6A=="], "before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="], diff --git a/.opencode/package.json b/.opencode/package.json index 88fd8e8911d8..8e7600dac4f6 100644 --- a/.opencode/package.json +++ b/.opencode/package.json @@ -1,6 +1,6 @@ { "dependencies": { "@octokit/rest": "^22.0.1", - "@opencode-ai/plugin": "0.0.0-dev-202512160508" + "@opencode-ai/plugin": "1.0.143" } } diff --git a/bun.lock b/bun.lock index 90450d399419..0ad9b90f74d0 100644 --- a/bun.lock +++ b/bun.lock @@ -20,7 +20,7 @@ }, "packages/console/app": { "name": "@opencode-ai/console-app", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@ibm/plex": "6.4.1", @@ -48,7 +48,7 @@ }, "packages/console/core": { "name": "@opencode-ai/console-core", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@aws-sdk/client-sts": "3.782.0", "@jsx-email/render": "1.1.1", @@ -75,7 +75,7 @@ }, "packages/console/function": { "name": "@opencode-ai/console-function", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@ai-sdk/anthropic": "2.0.0", "@ai-sdk/openai": "2.0.2", @@ -99,7 +99,7 @@ }, "packages/console/mail": { "name": "@opencode-ai/console-mail", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", @@ -123,7 +123,7 @@ }, "packages/desktop": { "name": "@opencode-ai/desktop", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -170,7 +170,7 @@ }, "packages/enterprise": { "name": "@opencode-ai/enterprise", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@opencode-ai/ui": "workspace:*", "@opencode-ai/util": "workspace:*", @@ -199,7 +199,7 @@ }, "packages/function": { "name": "@opencode-ai/function", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "catalog:", @@ -215,7 +215,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "1.0.162", + "version": "1.0.163", "bin": { "opencode": "./bin/opencode", }, @@ -307,7 +307,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@opencode-ai/sdk": "workspace:*", "zod": "catalog:", @@ -327,7 +327,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "1.0.162", + "version": "1.0.163", "devDependencies": { "@hey-api/openapi-ts": "0.88.1", "@tsconfig/node22": "catalog:", @@ -338,7 +338,7 @@ }, "packages/slack": { "name": "@opencode-ai/slack", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@opencode-ai/sdk": "workspace:*", "@slack/bolt": "^3.17.1", @@ -351,7 +351,7 @@ }, "packages/tauri": { "name": "@opencode-ai/tauri", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@opencode-ai/desktop": "workspace:*", "@tauri-apps/api": "^2", @@ -376,7 +376,7 @@ }, "packages/ui": { "name": "@opencode-ai/ui", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/sdk": "workspace:*", @@ -411,7 +411,7 @@ }, "packages/util": { "name": "@opencode-ai/util", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "zod": "catalog:", }, @@ -422,7 +422,7 @@ }, "packages/web": { "name": "@opencode-ai/web", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", diff --git a/packages/console/app/package.json b/packages/console/app/package.json index d0f7aac8224e..7607f03a4601 100644 --- a/packages/console/app/package.json +++ b/packages/console/app/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-app", - "version": "1.0.162", + "version": "1.0.163", "type": "module", "scripts": { "typecheck": "tsgo --noEmit", diff --git a/packages/console/core/package.json b/packages/console/core/package.json index 02e3a6de3942..7704332a7759 100644 --- a/packages/console/core/package.json +++ b/packages/console/core/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/console-core", - "version": "1.0.162", + "version": "1.0.163", "private": true, "type": "module", "dependencies": { diff --git a/packages/console/function/package.json b/packages/console/function/package.json index e80959975986..e62078f9a18b 100644 --- a/packages/console/function/package.json +++ b/packages/console/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-function", - "version": "1.0.162", + "version": "1.0.163", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/console/mail/package.json b/packages/console/mail/package.json index 2a244c47f5f7..5fc887fe427a 100644 --- a/packages/console/mail/package.json +++ b/packages/console/mail/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/console-mail", - "version": "1.0.162", + "version": "1.0.163", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", diff --git a/packages/desktop/package.json b/packages/desktop/package.json index fce5715c7d10..026fd4ec4410 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/desktop", - "version": "1.0.162", + "version": "1.0.163", "description": "", "type": "module", "exports": { diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json index 89243ffeb476..36e8ef01c294 100644 --- a/packages/enterprise/package.json +++ b/packages/enterprise/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/enterprise", - "version": "1.0.162", + "version": "1.0.163", "private": true, "type": "module", "scripts": { diff --git a/packages/extensions/zed/extension.toml b/packages/extensions/zed/extension.toml index 782f989ba49b..8d7a72cb9cf4 100644 --- a/packages/extensions/zed/extension.toml +++ b/packages/extensions/zed/extension.toml @@ -1,7 +1,7 @@ id = "opencode" name = "OpenCode" description = "The open source coding agent." -version = "1.0.162" +version = "1.0.163" schema_version = 1 authors = ["Anomaly"] repository = "https://github.com/sst/opencode" @@ -11,26 +11,26 @@ name = "OpenCode" icon = "./icons/opencode.svg" [agent_servers.opencode.targets.darwin-aarch64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.162/opencode-darwin-arm64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.163/opencode-darwin-arm64.zip" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.darwin-x86_64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.162/opencode-darwin-x64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.163/opencode-darwin-x64.zip" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.linux-aarch64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.162/opencode-linux-arm64.tar.gz" +archive = "https://github.com/sst/opencode/releases/download/v1.0.163/opencode-linux-arm64.tar.gz" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.linux-x86_64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.162/opencode-linux-x64.tar.gz" +archive = "https://github.com/sst/opencode/releases/download/v1.0.163/opencode-linux-x64.tar.gz" cmd = "./opencode" args = ["acp"] [agent_servers.opencode.targets.windows-x86_64] -archive = "https://github.com/sst/opencode/releases/download/v1.0.162/opencode-windows-x64.zip" +archive = "https://github.com/sst/opencode/releases/download/v1.0.163/opencode-windows-x64.zip" cmd = "./opencode.exe" args = ["acp"] diff --git a/packages/function/package.json b/packages/function/package.json index f1c3cf78aae8..7fdd342cebfa 100644 --- a/packages/function/package.json +++ b/packages/function/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/function", - "version": "1.0.162", + "version": "1.0.163", "$schema": "https://json.schemastore.org/package.json", "private": true, "type": "module", diff --git a/packages/opencode/package.json b/packages/opencode/package.json index a3798c4ba3a5..d65b1dec2732 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/package.json", - "version": "1.0.162", + "version": "1.0.163", "name": "opencode", "type": "module", "private": true, diff --git a/packages/plugin/package.json b/packages/plugin/package.json index 903808ae5099..ba8e70e1cd9d 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/plugin", - "version": "1.0.162", + "version": "1.0.163", "type": "module", "scripts": { "typecheck": "tsgo --noEmit", @@ -24,4 +24,4 @@ "typescript": "catalog:", "@typescript/native-preview": "catalog:" } -} +} \ No newline at end of file diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 78a81d99cb78..9fd6f48f365a 100644 --- a/packages/sdk/js/package.json +++ b/packages/sdk/js/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@opencode-ai/sdk", - "version": "1.0.162", + "version": "1.0.163", "type": "module", "scripts": { "typecheck": "tsgo --noEmit", @@ -29,4 +29,4 @@ "publishConfig": { "directory": "dist" } -} +} \ No newline at end of file diff --git a/packages/slack/package.json b/packages/slack/package.json index 8a07fad12114..07412a5fff40 100644 --- a/packages/slack/package.json +++ b/packages/slack/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/slack", - "version": "1.0.162", + "version": "1.0.163", "type": "module", "scripts": { "dev": "bun run src/index.ts", diff --git a/packages/tauri/package.json b/packages/tauri/package.json index 658d173a1abc..9568e279d525 100644 --- a/packages/tauri/package.json +++ b/packages/tauri/package.json @@ -1,7 +1,7 @@ { "name": "@opencode-ai/tauri", "private": true, - "version": "1.0.162", + "version": "1.0.163", "type": "module", "scripts": { "typecheck": "tsgo -b", diff --git a/packages/ui/package.json b/packages/ui/package.json index 8ede50bc1dab..2db6c52a15ab 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/ui", - "version": "1.0.162", + "version": "1.0.163", "type": "module", "exports": { "./*": "./src/components/*.tsx", diff --git a/packages/util/package.json b/packages/util/package.json index 02c01dd24572..8f4a10a8dc20 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -1,6 +1,6 @@ { "name": "@opencode-ai/util", - "version": "1.0.162", + "version": "1.0.163", "private": true, "type": "module", "exports": { diff --git a/packages/web/package.json b/packages/web/package.json index 2ae1be84b21a..e1a51be712a6 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,7 +1,7 @@ { "name": "@opencode-ai/web", "type": "module", - "version": "1.0.162", + "version": "1.0.163", "scripts": { "dev": "astro dev", "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev", diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json index 2611adef0a41..773143ef9ce1 100644 --- a/sdks/vscode/package.json +++ b/sdks/vscode/package.json @@ -2,7 +2,7 @@ "name": "opencode", "displayName": "opencode", "description": "opencode for VS Code", - "version": "1.0.162", + "version": "1.0.163", "publisher": "sst-dev", "repository": { "type": "git", From 91002b0e639ac41382d3b202914b899b96495e59 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 23:10:48 +0800 Subject: [PATCH 3/9] fix desktop build and comment out previous publish --- .github/workflows/publish.yml | 136 ++++++++++++++++-------------- packages/tauri/scripts/prepare.ts | 2 +- 2 files changed, 72 insertions(+), 66 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a9ca445af4cb..e673fd2fa18d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,68 +29,68 @@ permissions: packages: write jobs: - publish: - runs-on: blacksmith-4vcpu-ubuntu-2404 - if: github.repository == 'sst/opencode' - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - run: git fetch --force --tags - - - uses: ./.github/actions/setup-bun - - - name: Setup SSH for AUR - if: inputs.bump || inputs.version - run: | - sudo apt-get update - sudo apt-get install -y pacman-package-manager - mkdir -p ~/.ssh - echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - git config --global user.email "opencode@sst.dev" - git config --global user.name "opencode" - ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true - - - name: Install OpenCode - if: inputs.bump || inputs.version - run: bun i -g opencode-ai@1.0.143 - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - uses: actions/setup-node@v4 - with: - node-version: "24" - registry-url: "https://registry.npmjs.org" - - - name: Publish - id: publish - run: ./script/publish.ts - env: - OPENCODE_BUMP: ${{ inputs.bump }} - OPENCODE_VERSION: ${{ inputs.version }} - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - AUR_KEY: ${{ secrets.AUR_KEY }} - GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} - NPM_CONFIG_PROVENANCE: false - outputs: - releaseId: ${{ steps.publish.outputs.releaseId }} - tagName: ${{ steps.publish.outputs.tagName }} + # publish: + # runs-on: blacksmith-4vcpu-ubuntu-2404 + # if: github.repository == 'sst/opencode' + # steps: + # - uses: actions/checkout@v3 + # with: + # fetch-depth: 0 + + # - run: git fetch --force --tags + + # - uses: ./.github/actions/setup-bun + + # - name: Setup SSH for AUR + # if: inputs.bump || inputs.version + # run: | + # sudo apt-get update + # sudo apt-get install -y pacman-package-manager + # mkdir -p ~/.ssh + # echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa + # chmod 600 ~/.ssh/id_rsa + # git config --global user.email "opencode@sst.dev" + # git config --global user.name "opencode" + # ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true + + # - name: Install OpenCode + # if: inputs.bump || inputs.version + # run: bun i -g opencode-ai@1.0.143 + + # - name: Login to GitHub Container Registry + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.repository_owner }} + # password: ${{ secrets.GITHUB_TOKEN }} + + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v3 + + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + + # - uses: actions/setup-node@v4 + # with: + # node-version: "24" + # registry-url: "https://registry.npmjs.org" + + # - name: Publish + # id: publish + # run: ./script/publish.ts + # env: + # OPENCODE_BUMP: ${{ inputs.bump }} + # OPENCODE_VERSION: ${{ inputs.version }} + # OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + # AUR_KEY: ${{ secrets.AUR_KEY }} + # GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} + # NPM_CONFIG_PROVENANCE: false + # outputs: + # releaseId: ${{ steps.publish.outputs.releaseId }} + # tagName: ${{ steps.publish.outputs.tagName }} publish-tauri: - needs: publish + # needs: publish continue-on-error: true strategy: fail-fast: false @@ -109,7 +109,8 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 - ref: ${{ needs.publish.outputs.tagName }} + ref: v1.0.163 + # ${{ needs.publish.outputs.tagName }} - uses: apple-actions/import-codesign-certs@v2 if: ${{ runner.os == 'macOS' }} @@ -165,6 +166,7 @@ jobs: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} RUST_TARGET: ${{ matrix.settings.target }} GH_TOKEN: ${{ github.token }} + OPENCODE_RELEASE_TAG: ${{ needs.publish.outputs.tagName }} # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released - name: Install tauri-cli from portable appimage branch @@ -194,14 +196,18 @@ jobs: tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }} args: --target ${{ matrix.settings.target }} updaterJsonPreferNsis: true - releaseId: ${{ needs.publish.outputs.releaseId }} - tagName: ${{ needs.publish.outputs.tagName }} + releaseId: untagged-cd52cc970bd7c9534cab + # ${{ needs.publish.outputs.releaseId }} + tagName: v1.0.163 + # ${{ needs.publish.outputs.tagName }} releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext] + releaseDraft: true publish-release: needs: - - publish + # - publish - publish-tauri runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - - run: gh release edit ${{ steps.publish.outputs.tagName }} --draft=false + - run: gh release edit v1.0.163 --draft=false + # ${{ steps.publish.outputs.tagName }} diff --git a/packages/tauri/scripts/prepare.ts b/packages/tauri/scripts/prepare.ts index c49758432227..23cf3dc5dbe9 100755 --- a/packages/tauri/scripts/prepare.ts +++ b/packages/tauri/scripts/prepare.ts @@ -9,7 +9,7 @@ const sidecarConfig = getCurrentSidecar() const dir = "src-tauri/target/opencode-binaries" await $`mkdir -p ${dir}` -await $`gh release download --pattern ${sidecarConfig.ocBinary}.${sidecarConfig.assetExt} --repo sst/opencode --skip-existing --dir ${dir}` +await $`gh release download ${Bun.env.OPENCODE_RELEASE_TAG} --pattern ${sidecarConfig.ocBinary}.${sidecarConfig.assetExt} --repo sst/opencode --skip-existing --dir ${dir}` if (sidecarConfig.assetExt === "tar.gz") { await $`tar -xvzf ${dir}/${sidecarConfig.ocBinary}.${sidecarConfig.assetExt} -C ${dir}` From c666aea9d94b826eccb850cbb6df28f578a58c67 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 23:11:20 +0800 Subject: [PATCH 4/9] hardcode release tag --- .github/workflows/publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e673fd2fa18d..33cdcb68204b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -166,7 +166,8 @@ jobs: OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} RUST_TARGET: ${{ matrix.settings.target }} GH_TOKEN: ${{ github.token }} - OPENCODE_RELEASE_TAG: ${{ needs.publish.outputs.tagName }} + OPENCODE_RELEASE_TAG: v1.0.163 + # ${{ needs.publish.outputs.tagName }} # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released - name: Install tauri-cli from portable appimage branch From 696e030f9a6995a82bc1c90a5bf8e5d46228a922 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 16 Dec 2025 15:11:56 +0000 Subject: [PATCH 5/9] chore: format code --- packages/plugin/package.json | 2 +- packages/sdk/js/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugin/package.json b/packages/plugin/package.json index ba8e70e1cd9d..c94dffabe446 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -24,4 +24,4 @@ "typescript": "catalog:", "@typescript/native-preview": "catalog:" } -} \ No newline at end of file +} diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 9fd6f48f365a..2ea45ea7bf7e 100644 --- a/packages/sdk/js/package.json +++ b/packages/sdk/js/package.json @@ -29,4 +29,4 @@ "publishConfig": { "directory": "dist" } -} \ No newline at end of file +} From c13921dc1635017a1f8f214c7c90b1c0526faf52 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 23:21:50 +0800 Subject: [PATCH 6/9] make publishing the release work --- .github/workflows/publish.yml | 238 +++++++++++++++++----------------- 1 file changed, 120 insertions(+), 118 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 33cdcb68204b..75c0338e1c0d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -89,126 +89,128 @@ jobs: # releaseId: ${{ steps.publish.outputs.releaseId }} # tagName: ${{ steps.publish.outputs.tagName }} - publish-tauri: - # needs: publish - continue-on-error: true - strategy: - fail-fast: false - matrix: - settings: - - host: macos-latest - target: x86_64-apple-darwin - - host: macos-latest - target: aarch64-apple-darwin - - host: blacksmith-4vcpu-windows-2025 - target: x86_64-pc-windows-msvc - - host: blacksmith-4vcpu-ubuntu-2404 - target: x86_64-unknown-linux-gnu - runs-on: ${{ matrix.settings.host }} - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - ref: v1.0.163 - # ${{ needs.publish.outputs.tagName }} - - - uses: apple-actions/import-codesign-certs@v2 - if: ${{ runner.os == 'macOS' }} - with: - keychain: build - p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }} - p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - - - name: Verify Certificate - if: ${{ runner.os == 'macOS' }} - run: | - CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application") - CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}') - echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV - echo "Certificate imported." - - - name: Setup Apple API Key - if: ${{ runner.os == 'macOS' }} - run: | - echo "${{ secrets.APPLE_API_KEY_PATH }}" > $RUNNER_TEMP/apple-api-key.p8 - - - run: git fetch --force --tags - - - uses: ./.github/actions/setup-bun - - - name: install dependencies (ubuntu only) - if: contains(matrix.settings.host, 'ubuntu') - run: | - sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.settings.target }} - - - uses: Swatinem/rust-cache@v2 - with: - workspaces: packages/tauri/src-tauri - shared-key: ${{ matrix.settings.target }} - - - name: Prepare - run: | - cd packages/tauri - bun ./scripts/prepare.ts - env: - OPENCODE_BUMP: ${{ inputs.bump }} - OPENCODE_VERSION: ${{ inputs.version }} - OPENCODE_CHANNEL: latest - NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }} - GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} - AUR_KEY: ${{ secrets.AUR_KEY }} - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - RUST_TARGET: ${{ matrix.settings.target }} - GH_TOKEN: ${{ github.token }} - OPENCODE_RELEASE_TAG: v1.0.163 - # ${{ needs.publish.outputs.tagName }} - - # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released - - name: Install tauri-cli from portable appimage branch - if: contains(matrix.settings.host, 'ubuntu') - run: | - cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force - echo "Installed tauri-cli version:" - cargo tauri --version - - - name: Build and upload artifacts - timeout-minutes: 20 - uses: tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }} - APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} - APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }} - APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8 - with: - projectPath: packages/tauri - uploadWorkflowArtifacts: true - tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }} - args: --target ${{ matrix.settings.target }} - updaterJsonPreferNsis: true - releaseId: untagged-cd52cc970bd7c9534cab - # ${{ needs.publish.outputs.releaseId }} - tagName: v1.0.163 - # ${{ needs.publish.outputs.tagName }} - releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext] - releaseDraft: true + # publish-tauri: + # # needs: publish + # continue-on-error: true + # strategy: + # fail-fast: false + # matrix: + # settings: + # - host: macos-latest + # target: x86_64-apple-darwin + # - host: macos-latest + # target: aarch64-apple-darwin + # - host: blacksmith-4vcpu-windows-2025 + # target: x86_64-pc-windows-msvc + # - host: blacksmith-4vcpu-ubuntu-2404 + # target: x86_64-unknown-linux-gnu + # runs-on: ${{ matrix.settings.host }} + # steps: + # - uses: actions/checkout@v3 + # with: + # fetch-depth: 0 + # ref: v1.0.163 + # # ${{ needs.publish.outputs.tagName }} + + # - uses: apple-actions/import-codesign-certs@v2 + # if: ${{ runner.os == 'macOS' }} + # with: + # keychain: build + # p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }} + # p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + + # - name: Verify Certificate + # if: ${{ runner.os == 'macOS' }} + # run: | + # CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application") + # CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}') + # echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV + # echo "Certificate imported." + + # - name: Setup Apple API Key + # if: ${{ runner.os == 'macOS' }} + # run: | + # echo "${{ secrets.APPLE_API_KEY_PATH }}" > $RUNNER_TEMP/apple-api-key.p8 + + # - run: git fetch --force --tags + + # - uses: ./.github/actions/setup-bun + + # - name: install dependencies (ubuntu only) + # if: contains(matrix.settings.host, 'ubuntu') + # run: | + # sudo apt-get update + # sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + # - name: install Rust stable + # uses: dtolnay/rust-toolchain@stable + # with: + # targets: ${{ matrix.settings.target }} + + # - uses: Swatinem/rust-cache@v2 + # with: + # workspaces: packages/tauri/src-tauri + # shared-key: ${{ matrix.settings.target }} + + # - name: Prepare + # run: | + # cd packages/tauri + # bun ./scripts/prepare.ts + # env: + # OPENCODE_BUMP: ${{ inputs.bump }} + # OPENCODE_VERSION: ${{ inputs.version }} + # OPENCODE_CHANNEL: latest + # NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }} + # GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} + # AUR_KEY: ${{ secrets.AUR_KEY }} + # OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + # RUST_TARGET: ${{ matrix.settings.target }} + # GH_TOKEN: ${{ github.token }} + # OPENCODE_RELEASE_TAG: v1.0.163 + # # ${{ needs.publish.outputs.tagName }} + + # # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released + # - name: Install tauri-cli from portable appimage branch + # if: contains(matrix.settings.host, 'ubuntu') + # run: | + # cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force + # echo "Installed tauri-cli version:" + # cargo tauri --version + + # - name: Build and upload artifacts + # timeout-minutes: 20 + # uses: tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true + # TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + # TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + # APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} + # APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + # APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }} + # APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} + # APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }} + # APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8 + # with: + # projectPath: packages/tauri + # uploadWorkflowArtifacts: true + # tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }} + # args: --target ${{ matrix.settings.target }} + # updaterJsonPreferNsis: true + # releaseId: untagged-cd52cc970bd7c9534cab + # # ${{ needs.publish.outputs.releaseId }} + # tagName: v1.0.163 + # # ${{ needs.publish.outputs.tagName }} + # releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext] + # releaseDraft: true publish-release: - needs: - # - publish - - publish-tauri + # needs: + # - publish + # - publish-tauri runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - run: gh release edit v1.0.163 --draft=false - # ${{ steps.publish.outputs.tagName }} + # ${{ steps.publish.outputs.tagName }} + env: + GH_TOKEN: ${{ github.token }} From afb8d3717db0b07be13c3c0ac78c14386ad7b7c1 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 23:23:15 +0800 Subject: [PATCH 7/9] clone repo --- .github/workflows/publish.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 75c0338e1c0d..085f710d03e9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -210,6 +210,12 @@ jobs: # - publish-tauri runs-on: blacksmith-4vcpu-ubuntu-2404 steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: v1.0.163 + # ${{ needs.publish.outputs.tagName }} + - run: gh release edit v1.0.163 --draft=false # ${{ steps.publish.outputs.tagName }} env: From 9bf29618bc6345cd4ba0cde446146b76458baad4 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 23:24:58 +0800 Subject: [PATCH 8/9] bring everything back --- .github/workflows/publish.yml | 356 +++++++++++++++++----------------- 1 file changed, 175 insertions(+), 181 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 085f710d03e9..afc23a81f4f4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,194 +29,188 @@ permissions: packages: write jobs: - # publish: - # runs-on: blacksmith-4vcpu-ubuntu-2404 - # if: github.repository == 'sst/opencode' - # steps: - # - uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - - # - run: git fetch --force --tags - - # - uses: ./.github/actions/setup-bun - - # - name: Setup SSH for AUR - # if: inputs.bump || inputs.version - # run: | - # sudo apt-get update - # sudo apt-get install -y pacman-package-manager - # mkdir -p ~/.ssh - # echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa - # chmod 600 ~/.ssh/id_rsa - # git config --global user.email "opencode@sst.dev" - # git config --global user.name "opencode" - # ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true - - # - name: Install OpenCode - # if: inputs.bump || inputs.version - # run: bun i -g opencode-ai@1.0.143 - - # - name: Login to GitHub Container Registry - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.repository_owner }} - # password: ${{ secrets.GITHUB_TOKEN }} - - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v3 - - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - - # - uses: actions/setup-node@v4 - # with: - # node-version: "24" - # registry-url: "https://registry.npmjs.org" - - # - name: Publish - # id: publish - # run: ./script/publish.ts - # env: - # OPENCODE_BUMP: ${{ inputs.bump }} - # OPENCODE_VERSION: ${{ inputs.version }} - # OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - # AUR_KEY: ${{ secrets.AUR_KEY }} - # GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} - # NPM_CONFIG_PROVENANCE: false - # outputs: - # releaseId: ${{ steps.publish.outputs.releaseId }} - # tagName: ${{ steps.publish.outputs.tagName }} - - # publish-tauri: - # # needs: publish - # continue-on-error: true - # strategy: - # fail-fast: false - # matrix: - # settings: - # - host: macos-latest - # target: x86_64-apple-darwin - # - host: macos-latest - # target: aarch64-apple-darwin - # - host: blacksmith-4vcpu-windows-2025 - # target: x86_64-pc-windows-msvc - # - host: blacksmith-4vcpu-ubuntu-2404 - # target: x86_64-unknown-linux-gnu - # runs-on: ${{ matrix.settings.host }} - # steps: - # - uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # ref: v1.0.163 - # # ${{ needs.publish.outputs.tagName }} - - # - uses: apple-actions/import-codesign-certs@v2 - # if: ${{ runner.os == 'macOS' }} - # with: - # keychain: build - # p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }} - # p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - - # - name: Verify Certificate - # if: ${{ runner.os == 'macOS' }} - # run: | - # CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application") - # CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}') - # echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV - # echo "Certificate imported." - - # - name: Setup Apple API Key - # if: ${{ runner.os == 'macOS' }} - # run: | - # echo "${{ secrets.APPLE_API_KEY_PATH }}" > $RUNNER_TEMP/apple-api-key.p8 - - # - run: git fetch --force --tags - - # - uses: ./.github/actions/setup-bun - - # - name: install dependencies (ubuntu only) - # if: contains(matrix.settings.host, 'ubuntu') - # run: | - # sudo apt-get update - # sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - - # - name: install Rust stable - # uses: dtolnay/rust-toolchain@stable - # with: - # targets: ${{ matrix.settings.target }} - - # - uses: Swatinem/rust-cache@v2 - # with: - # workspaces: packages/tauri/src-tauri - # shared-key: ${{ matrix.settings.target }} - - # - name: Prepare - # run: | - # cd packages/tauri - # bun ./scripts/prepare.ts - # env: - # OPENCODE_BUMP: ${{ inputs.bump }} - # OPENCODE_VERSION: ${{ inputs.version }} - # OPENCODE_CHANNEL: latest - # NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }} - # GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} - # AUR_KEY: ${{ secrets.AUR_KEY }} - # OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - # RUST_TARGET: ${{ matrix.settings.target }} - # GH_TOKEN: ${{ github.token }} - # OPENCODE_RELEASE_TAG: v1.0.163 - # # ${{ needs.publish.outputs.tagName }} - - # # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released - # - name: Install tauri-cli from portable appimage branch - # if: contains(matrix.settings.host, 'ubuntu') - # run: | - # cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force - # echo "Installed tauri-cli version:" - # cargo tauri --version - - # - name: Build and upload artifacts - # timeout-minutes: 20 - # uses: tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true - # TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - # TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - # APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - # APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - # APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }} - # APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} - # APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }} - # APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8 - # with: - # projectPath: packages/tauri - # uploadWorkflowArtifacts: true - # tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }} - # args: --target ${{ matrix.settings.target }} - # updaterJsonPreferNsis: true - # releaseId: untagged-cd52cc970bd7c9534cab - # # ${{ needs.publish.outputs.releaseId }} - # tagName: v1.0.163 - # # ${{ needs.publish.outputs.tagName }} - # releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext] - # releaseDraft: true + publish: + runs-on: blacksmith-4vcpu-ubuntu-2404 + if: github.repository == 'sst/opencode' + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - run: git fetch --force --tags + + - uses: ./.github/actions/setup-bun + + - name: Setup SSH for AUR + if: inputs.bump || inputs.version + run: | + sudo apt-get update + sudo apt-get install -y pacman-package-manager + mkdir -p ~/.ssh + echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + git config --global user.email "opencode@sst.dev" + git config --global user.name "opencode" + ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true + + - name: Install OpenCode + if: inputs.bump || inputs.version + run: bun i -g opencode-ai@1.0.143 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - uses: actions/setup-node@v4 + with: + node-version: "24" + registry-url: "https://registry.npmjs.org" + + - name: Publish + id: publish + run: ./script/publish.ts + env: + OPENCODE_BUMP: ${{ inputs.bump }} + OPENCODE_VERSION: ${{ inputs.version }} + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + AUR_KEY: ${{ secrets.AUR_KEY }} + GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} + NPM_CONFIG_PROVENANCE: false + outputs: + releaseId: ${{ steps.publish.outputs.releaseId }} + tagName: ${{ steps.publish.outputs.tagName }} + + publish-tauri: + needs: publish + continue-on-error: true + strategy: + fail-fast: false + matrix: + settings: + - host: macos-latest + target: x86_64-apple-darwin + - host: macos-latest + target: aarch64-apple-darwin + - host: blacksmith-4vcpu-windows-2025 + target: x86_64-pc-windows-msvc + - host: blacksmith-4vcpu-ubuntu-2404 + target: x86_64-unknown-linux-gnu + runs-on: ${{ matrix.settings.host }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: ${{ needs.publish.outputs.tagName }} + + - uses: apple-actions/import-codesign-certs@v2 + if: ${{ runner.os == 'macOS' }} + with: + keychain: build + p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }} + p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + + - name: Verify Certificate + if: ${{ runner.os == 'macOS' }} + run: | + CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application") + CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}') + echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV + echo "Certificate imported." + + - name: Setup Apple API Key + if: ${{ runner.os == 'macOS' }} + run: | + echo "${{ secrets.APPLE_API_KEY_PATH }}" > $RUNNER_TEMP/apple-api-key.p8 + + - run: git fetch --force --tags + + - uses: ./.github/actions/setup-bun + + - name: install dependencies (ubuntu only) + if: contains(matrix.settings.host, 'ubuntu') + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + - name: install Rust stable + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.settings.target }} + + - uses: Swatinem/rust-cache@v2 + with: + workspaces: packages/tauri/src-tauri + shared-key: ${{ matrix.settings.target }} + + - name: Prepare + run: | + cd packages/tauri + bun ./scripts/prepare.ts + env: + OPENCODE_BUMP: ${{ inputs.bump }} + OPENCODE_VERSION: ${{ inputs.version }} + OPENCODE_CHANNEL: latest + NPM_CONFIG_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} + AUR_KEY: ${{ secrets.AUR_KEY }} + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + RUST_TARGET: ${{ matrix.settings.target }} + GH_TOKEN: ${{ github.token }} + OPENCODE_RELEASE_TAG: ${{ needs.publish.outputs.tagName }} + + # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released + - name: Install tauri-cli from portable appimage branch + if: contains(matrix.settings.host, 'ubuntu') + run: | + cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force + echo "Installed tauri-cli version:" + cargo tauri --version + + - name: Build and upload artifacts + timeout-minutes: 20 + uses: tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} + APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }} + APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} + APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }} + APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8 + with: + projectPath: packages/tauri + uploadWorkflowArtifacts: true + tauriScript: ${{ (contains(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }} + args: --target ${{ matrix.settings.target }} + updaterJsonPreferNsis: true + releaseId: ${{ needs.publish.outputs.releaseId }} + tagName: ${{ needs.publish.outputs.tagName }} + releaseAssetNamePattern: opencode-desktop-[platform]-[arch][ext] + releaseDraft: true publish-release: - # needs: - # - publish - # - publish-tauri + needs: + - publish + - publish-tauri runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - ref: v1.0.163 - # ${{ needs.publish.outputs.tagName }} + ref: ${{ needs.publish.outputs.tagName }} - - run: gh release edit v1.0.163 --draft=false - # ${{ steps.publish.outputs.tagName }} + - run: gh release edit ${{ steps.publish.outputs.tagName }} --draft=false env: GH_TOKEN: ${{ github.token }} From f489fac8cdbcd0ae4724b9b309732df83fd8a81a Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 16 Dec 2025 23:31:20 +0800 Subject: [PATCH 9/9] revert .opencode plugin version --- .opencode/bun.lock | 6 +++--- .opencode/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.opencode/bun.lock b/.opencode/bun.lock index b7513c715ec9..f152a1646f6b 100644 --- a/.opencode/bun.lock +++ b/.opencode/bun.lock @@ -5,7 +5,7 @@ "": { "dependencies": { "@octokit/rest": "^22.0.1", - "@opencode-ai/plugin": "1.0.143", + "@opencode-ai/plugin": "0.0.0-dev-202512160508", }, }, }, @@ -34,9 +34,9 @@ "@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="], - "@opencode-ai/plugin": ["@opencode-ai/plugin@1.0.143", "", { "dependencies": { "@opencode-ai/sdk": "1.0.143", "zod": "4.1.8" } }, "sha512-yzaCmdazVJMDADJLbMM8KGp1X+Hd/HVyIXMlNt9qcvz/fcs/ET4EwHJsJaQi/9m/jLJ+plwBJAeIW08BMrECPg=="], + "@opencode-ai/plugin": ["@opencode-ai/plugin@0.0.0-dev-202512160508", "", { "dependencies": { "@opencode-ai/sdk": "0.0.0-dev-202512160508", "zod": "4.1.8" } }, "sha512-GLnvMQhEWRHG9E84FyyQKPKi54bGUkytXPfZYjwNy9W6djw8zAW/kpeYPrdIJHPdTHk4OjIHEwoB1SXZzGaLFQ=="], - "@opencode-ai/sdk": ["@opencode-ai/sdk@1.0.143", "", {}, "sha512-dtmkBfJ7IIAHzL6KCzAlwc9GybfJONVeCsF6ePYySpkuhslDbRkZBJYb5vqGd1H5zdsgjc6JjuvmOf0rPWUL6A=="], + "@opencode-ai/sdk": ["@opencode-ai/sdk@0.0.0-dev-202512160508", "", {}, "sha512-ICpZ1bX528yQKqYGGyUJQMu3RY0F1pQ6RCoTJ4ESLiYmcXUY1EldgIidiwPA+A/zpEXLu2lPwPZ1LYn/bX6aFA=="], "before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="], diff --git a/.opencode/package.json b/.opencode/package.json index 8e7600dac4f6..88fd8e8911d8 100644 --- a/.opencode/package.json +++ b/.opencode/package.json @@ -1,6 +1,6 @@ { "dependencies": { "@octokit/rest": "^22.0.1", - "@opencode-ai/plugin": "1.0.143" + "@opencode-ai/plugin": "0.0.0-dev-202512160508" } }