diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ebfabf6c4..efef3b273 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -93,6 +93,24 @@ jobs: GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }} NPM_CONFIG_PROVENANCE: false + - name: "Upload folders as artifacts" + id: upload-artifacts + shell: bun {0} + working-directory: packages/opencode + run: | + import * as fs from 'fs/promises'; + import * as path from 'path'; + import { DefaultArtifactClient } from "@actions/artifact"; + + const artifactClient = new DefaultArtifactClient() + + for await (const folder of $`ls ./dist`.lines()) { + if (!folder.startsWith("opencode-")) continue + + const files = await Array.fromAsync(await fs.glob(`./dist/${folder}/bin/*`)) + await artifactClient.uploadArtifact(folder, files, process.cwd()) + } + outputs: release: ${{ steps.publish.outputs.release }} tag: ${{ steps.publish.outputs.tag }} diff --git a/packages/opencode/script/publish.ts b/packages/opencode/script/publish.ts index 821497b22..f4c4c2db9 100755 --- a/packages/opencode/script/publish.ts +++ b/packages/opencode/script/publish.ts @@ -3,7 +3,6 @@ import { $ } from "bun" import pkg from "../package.json" import { Script } from "@opencode-ai/script" import { fileURLToPath } from "url" -import { glob } from "fs/promises" const dir = fileURLToPath(new URL("..", import.meta.url)) process.chdir(dir)