Browse Source

Merge branch 'dev' of https://github.com/sst/opencode into dev

David Hill 2 months ago
parent
commit
4e02704f17
3 changed files with 11 additions and 8 deletions
  1. 1 1
      packages/opencode/Dockerfile
  2. 9 6
      packages/opencode/src/cli/cmd/github.ts
  3. 1 1
      script/publish.ts

+ 1 - 1
packages/opencode/Dockerfile

@@ -4,7 +4,7 @@ FROM alpine
 # On ephemeral containers, the cache is not useful
 # On ephemeral containers, the cache is not useful
 ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
 ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
 ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
 ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
-RUN apk add libgcc libstdc++
+RUN apk add libgcc libstdc++ ripgrep
 ADD ./dist/opencode-linux-x64-baseline-musl/bin/opencode /usr/local/bin/opencode
 ADD ./dist/opencode-linux-x64-baseline-musl/bin/opencode /usr/local/bin/opencode
 RUN opencode --version
 RUN opencode --version
 ENTRYPOINT ["opencode"]
 ENTRYPOINT ["opencode"]

+ 9 - 6
packages/opencode/src/cli/cmd/github.ts

@@ -124,6 +124,8 @@ type IssueQueryResponse = {
   }
   }
 }
 }
 
 
+const AGENT_USERNAME = "opencode-agent[bot]"
+const AGENT_REACTION = "eyes"
 const WORKFLOW_FILE = ".github/workflows/opencode.yml"
 const WORKFLOW_FILE = ".github/workflows/opencode.yml"
 
 
 export const GithubCommand = cmd({
 export const GithubCommand = cmd({
@@ -422,7 +424,7 @@ export const GithubRunCommand = cmd({
         await configureGit(appToken)
         await configureGit(appToken)
         await assertPermissions()
         await assertPermissions()
 
 
-        await addReaction("eyes")
+        await addReaction()
 
 
         // Setup opencode session
         // Setup opencode session
         const repoData = await fetchRepo()
         const repoData = await fetchRepo()
@@ -812,8 +814,8 @@ export const GithubRunCommand = cmd({
 
 
         await $`git config --local --unset-all ${config}`
         await $`git config --local --unset-all ${config}`
         await $`git config --local ${config} "AUTHORIZATION: basic ${newCredentials}"`
         await $`git config --local ${config} "AUTHORIZATION: basic ${newCredentials}"`
-        await $`git config --global user.name "opencode-agent[bot]"`
-        await $`git config --global user.email "opencode-agent[bot]@users.noreply.github.com"`
+        await $`git config --global user.name "${AGENT_USERNAME}"`
+        await $`git config --global user.email "${AGENT_USERNAME}@users.noreply.github.com"`
       }
       }
 
 
       async function restoreGitConfig() {
       async function restoreGitConfig() {
@@ -935,13 +937,13 @@ Co-authored-by: ${actor} <${actor}@users.noreply.github.com>"`
         if (!["admin", "write"].includes(permission)) throw new Error(`User ${actor} does not have write permissions`)
         if (!["admin", "write"].includes(permission)) throw new Error(`User ${actor} does not have write permissions`)
       }
       }
 
 
-      async function addReaction(reaction: "eyes") {
+      async function addReaction() {
         console.log("Adding reaction...")
         console.log("Adding reaction...")
         return await octoRest.rest.reactions.createForIssueComment({
         return await octoRest.rest.reactions.createForIssueComment({
           owner,
           owner,
           repo,
           repo,
           comment_id: triggerCommentId,
           comment_id: triggerCommentId,
-          content: reaction,
+          content: AGENT_REACTION,
         })
         })
       }
       }
 
 
@@ -951,9 +953,10 @@ Co-authored-by: ${actor} <${actor}@users.noreply.github.com>"`
           owner,
           owner,
           repo,
           repo,
           comment_id: triggerCommentId,
           comment_id: triggerCommentId,
+          content: AGENT_REACTION,
         })
         })
 
 
-        const eyesReaction = reactions.data.find((r) => r.content === "eyes")
+        const eyesReaction = reactions.data.find((r) => r.user?.login === AGENT_USERNAME)
         if (!eyesReaction) return
         if (!eyesReaction) return
 
 
         await octoRest.rest.reactions.deleteForIssueComment({
         await octoRest.rest.reactions.deleteForIssueComment({

+ 1 - 1
script/publish.ts

@@ -155,5 +155,5 @@ if (!Script.preview) {
   await $`git cherry-pick HEAD..origin/dev`.nothrow()
   await $`git cherry-pick HEAD..origin/dev`.nothrow()
   await $`git push origin HEAD --tags --no-verify --force-with-lease`
   await $`git push origin HEAD --tags --no-verify --force-with-lease`
   await new Promise((resolve) => setTimeout(resolve, 5_000))
   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} --title "v${Script.version}" --notes ${notes.join("\n") || "No notable changes"} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz`
 }
 }