fix(opencode): fallback to sh for curl upgrade (#30499)
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
This commit is contained in:
@@ -149,13 +149,20 @@ export const layer: Layer.Layer<Service, never, HttpClient.HttpClient | AppProce
|
||||
return `Upgrade failed for ${method}.`
|
||||
}
|
||||
|
||||
const upgradeScriptShell = Effect.fnUntraced(function* () {
|
||||
const bashVersion = yield* text(["bash", "--version"])
|
||||
if (bashVersion) return "bash"
|
||||
return "sh"
|
||||
})
|
||||
|
||||
const upgradeCurl = Effect.fnUntraced(
|
||||
function* (target: string) {
|
||||
const response = yield* httpOk.execute(HttpClientRequest.get("https://opencode.ai/install"))
|
||||
const body = yield* response.text
|
||||
const bodyBytes = new TextEncoder().encode(body)
|
||||
const shell = yield* upgradeScriptShell()
|
||||
const result = yield* appProcess.run(
|
||||
ChildProcess.make("bash", [], {
|
||||
ChildProcess.make(shell, [], {
|
||||
stdin: Stream.make(bodyBytes),
|
||||
env: { VERSION: target },
|
||||
extendEnv: true,
|
||||
|
||||
Reference in New Issue
Block a user