sync
This commit is contained in:
parent
d82ba619d0
commit
2bc9bac157
4 changed files with 206 additions and 210 deletions
13
.github/workflows/publish.yml
vendored
13
.github/workflows/publish.yml
vendored
|
|
@ -78,6 +78,7 @@ jobs:
|
||||||
version: ${{ steps.publish.outputs.version }}
|
version: ${{ steps.publish.outputs.version }}
|
||||||
|
|
||||||
build-tauri:
|
build-tauri:
|
||||||
|
if: false
|
||||||
needs:
|
needs:
|
||||||
- build-cli
|
- build-cli
|
||||||
- version
|
- version
|
||||||
|
|
@ -191,10 +192,9 @@ jobs:
|
||||||
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
|
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
|
||||||
APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8
|
APPLE_API_KEY_PATH: ${{ runner.temp }}/apple-api-key.p8
|
||||||
|
|
||||||
publish-release:
|
publish:
|
||||||
needs:
|
needs:
|
||||||
- build-cli
|
- build-cli
|
||||||
- build-tauri
|
|
||||||
if: needs.publish.outputs.tag
|
if: needs.publish.outputs.tag
|
||||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -232,6 +232,11 @@ jobs:
|
||||||
|
|
||||||
- uses: ./.github/actions/setup-bun
|
- uses: ./.github/actions/setup-bun
|
||||||
|
|
||||||
|
- uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: opencode-cli
|
||||||
|
path: packages/opencode/dist
|
||||||
|
|
||||||
- name: Setup SSH for AUR
|
- name: Setup SSH for AUR
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
@ -245,6 +250,8 @@ jobs:
|
||||||
|
|
||||||
- run: ./script/publish-complete.ts
|
- run: ./script/publish-complete.ts
|
||||||
env:
|
env:
|
||||||
OPENCODE_VERSION: ${{ needs.publish.outputs.version }}
|
OPENCODE_VERSION: ${{ needs.version.outputs.version }}
|
||||||
AUR_KEY: ${{ secrets.AUR_KEY }}
|
AUR_KEY: ${{ secrets.AUR_KEY }}
|
||||||
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
|
||||||
|
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
||||||
|
NPM_CONFIG_PROVENANCE: false
|
||||||
|
|
|
||||||
|
|
@ -1,187 +0,0 @@
|
||||||
#!/usr/bin/env bun
|
|
||||||
import { $ } from "bun"
|
|
||||||
import { Script } from "@opencode-ai/script"
|
|
||||||
|
|
||||||
if (!Script.preview) {
|
|
||||||
// Calculate SHA values
|
|
||||||
const arm64Sha = await $`sha256sum ./dist/opencode-linux-arm64.tar.gz | cut -d' ' -f1`.text().then((x) => x.trim())
|
|
||||||
const x64Sha = await $`sha256sum ./dist/opencode-linux-x64.tar.gz | cut -d' ' -f1`.text().then((x) => x.trim())
|
|
||||||
const macX64Sha = await $`sha256sum ./dist/opencode-darwin-x64.zip | cut -d' ' -f1`.text().then((x) => x.trim())
|
|
||||||
const macArm64Sha = await $`sha256sum ./dist/opencode-darwin-arm64.zip | cut -d' ' -f1`.text().then((x) => x.trim())
|
|
||||||
|
|
||||||
const [pkgver, _subver = ""] = Script.version.split(/(-.*)/, 2)
|
|
||||||
|
|
||||||
// arch
|
|
||||||
const binaryPkgbuild = [
|
|
||||||
"# Maintainer: dax",
|
|
||||||
"# Maintainer: adam",
|
|
||||||
"",
|
|
||||||
"pkgname='opencode-bin'",
|
|
||||||
`pkgver=${pkgver}`,
|
|
||||||
`_subver=${_subver}`,
|
|
||||||
"options=('!debug' '!strip')",
|
|
||||||
"pkgrel=1",
|
|
||||||
"pkgdesc='The AI coding agent built for the terminal.'",
|
|
||||||
"url='https://github.com/anomalyco/opencode'",
|
|
||||||
"arch=('aarch64' 'x86_64')",
|
|
||||||
"license=('MIT')",
|
|
||||||
"provides=('opencode')",
|
|
||||||
"conflicts=('opencode')",
|
|
||||||
"depends=('ripgrep')",
|
|
||||||
"",
|
|
||||||
`source_aarch64=("\${pkgname}_\${pkgver}_aarch64.tar.gz::https://github.com/anomalyco/opencode/releases/download/v\${pkgver}\${_subver}/opencode-linux-arm64.tar.gz")`,
|
|
||||||
`sha256sums_aarch64=('${arm64Sha}')`,
|
|
||||||
|
|
||||||
`source_x86_64=("\${pkgname}_\${pkgver}_x86_64.tar.gz::https://github.com/anomalyco/opencode/releases/download/v\${pkgver}\${_subver}/opencode-linux-x64.tar.gz")`,
|
|
||||||
`sha256sums_x86_64=('${x64Sha}')`,
|
|
||||||
"",
|
|
||||||
"package() {",
|
|
||||||
' install -Dm755 ./opencode "${pkgdir}/usr/bin/opencode"',
|
|
||||||
"}",
|
|
||||||
"",
|
|
||||||
].join("\n")
|
|
||||||
|
|
||||||
// Source-based PKGBUILD for opencode
|
|
||||||
const sourcePkgbuild = [
|
|
||||||
"# Maintainer: dax",
|
|
||||||
"# Maintainer: adam",
|
|
||||||
"",
|
|
||||||
"pkgname='opencode'",
|
|
||||||
`pkgver=${pkgver}`,
|
|
||||||
`_subver=${_subver}`,
|
|
||||||
"options=('!debug' '!strip')",
|
|
||||||
"pkgrel=1",
|
|
||||||
"pkgdesc='The AI coding agent built for the terminal.'",
|
|
||||||
"url='https://github.com/anomalyco/opencode'",
|
|
||||||
"arch=('aarch64' 'x86_64')",
|
|
||||||
"license=('MIT')",
|
|
||||||
"provides=('opencode')",
|
|
||||||
"conflicts=('opencode-bin')",
|
|
||||||
"depends=('ripgrep')",
|
|
||||||
"makedepends=('git' 'bun' 'go')",
|
|
||||||
"",
|
|
||||||
`source=("opencode-\${pkgver}.tar.gz::https://github.com/anomalyco/opencode/archive/v\${pkgver}\${_subver}.tar.gz")`,
|
|
||||||
`sha256sums=('SKIP')`,
|
|
||||||
"",
|
|
||||||
"build() {",
|
|
||||||
` cd "opencode-\${pkgver}"`,
|
|
||||||
` bun install`,
|
|
||||||
" cd ./packages/opencode",
|
|
||||||
` OPENCODE_CHANNEL=latest OPENCODE_VERSION=${pkgver} bun run ./script/build.ts --single`,
|
|
||||||
"}",
|
|
||||||
"",
|
|
||||||
"package() {",
|
|
||||||
` cd "opencode-\${pkgver}/packages/opencode"`,
|
|
||||||
' mkdir -p "${pkgdir}/usr/bin"',
|
|
||||||
' target_arch="x64"',
|
|
||||||
' case "$CARCH" in',
|
|
||||||
' x86_64) target_arch="x64" ;;',
|
|
||||||
' aarch64) target_arch="arm64" ;;',
|
|
||||||
' *) printf "unsupported architecture: %s\\n" "$CARCH" >&2 ; return 1 ;;',
|
|
||||||
" esac",
|
|
||||||
' libc=""',
|
|
||||||
" if command -v ldd >/dev/null 2>&1; then",
|
|
||||||
" if ldd --version 2>&1 | grep -qi musl; then",
|
|
||||||
' libc="-musl"',
|
|
||||||
" fi",
|
|
||||||
" fi",
|
|
||||||
' if [ -z "$libc" ] && ls /lib/ld-musl-* >/dev/null 2>&1; then',
|
|
||||||
' libc="-musl"',
|
|
||||||
" fi",
|
|
||||||
' base=""',
|
|
||||||
' if [ "$target_arch" = "x64" ]; then',
|
|
||||||
" if ! grep -qi avx2 /proc/cpuinfo 2>/dev/null; then",
|
|
||||||
' base="-baseline"',
|
|
||||||
" fi",
|
|
||||||
" fi",
|
|
||||||
' bin="dist/opencode-linux-${target_arch}${base}${libc}/bin/opencode"',
|
|
||||||
' if [ ! -f "$bin" ]; then',
|
|
||||||
' printf "unable to find binary for %s%s%s\\n" "$target_arch" "$base" "$libc" >&2',
|
|
||||||
" return 1",
|
|
||||||
" fi",
|
|
||||||
' install -Dm755 "$bin" "${pkgdir}/usr/bin/opencode"',
|
|
||||||
"}",
|
|
||||||
"",
|
|
||||||
].join("\n")
|
|
||||||
|
|
||||||
for (const [pkg, pkgbuild] of [
|
|
||||||
["opencode-bin", binaryPkgbuild],
|
|
||||||
["opencode", sourcePkgbuild],
|
|
||||||
]) {
|
|
||||||
for (let i = 0; i < 30; i++) {
|
|
||||||
try {
|
|
||||||
await $`rm -rf ./dist/aur-${pkg}`
|
|
||||||
await $`git clone ssh://aur@aur.archlinux.org/${pkg}.git ./dist/aur-${pkg}`
|
|
||||||
await $`cd ./dist/aur-${pkg} && git checkout master`
|
|
||||||
await Bun.file(`./dist/aur-${pkg}/PKGBUILD`).write(pkgbuild)
|
|
||||||
await $`cd ./dist/aur-${pkg} && makepkg --printsrcinfo > .SRCINFO`
|
|
||||||
await $`cd ./dist/aur-${pkg} && git add PKGBUILD .SRCINFO`
|
|
||||||
await $`cd ./dist/aur-${pkg} && git commit -m "Update to v${Script.version}"`
|
|
||||||
await $`cd ./dist/aur-${pkg} && git push`
|
|
||||||
break
|
|
||||||
} catch (e) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Homebrew formula
|
|
||||||
const homebrewFormula = [
|
|
||||||
"# typed: false",
|
|
||||||
"# frozen_string_literal: true",
|
|
||||||
"",
|
|
||||||
"# This file was generated by GoReleaser. DO NOT EDIT.",
|
|
||||||
"class Opencode < Formula",
|
|
||||||
` desc "The AI coding agent built for the terminal."`,
|
|
||||||
` homepage "https://github.com/anomalyco/opencode"`,
|
|
||||||
` version "${Script.version.split("-")[0]}"`,
|
|
||||||
"",
|
|
||||||
` depends_on "ripgrep"`,
|
|
||||||
"",
|
|
||||||
" on_macos do",
|
|
||||||
" if Hardware::CPU.intel?",
|
|
||||||
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-darwin-x64.zip"`,
|
|
||||||
` sha256 "${macX64Sha}"`,
|
|
||||||
"",
|
|
||||||
" def install",
|
|
||||||
' bin.install "opencode"',
|
|
||||||
" end",
|
|
||||||
" end",
|
|
||||||
" if Hardware::CPU.arm?",
|
|
||||||
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-darwin-arm64.zip"`,
|
|
||||||
` sha256 "${macArm64Sha}"`,
|
|
||||||
"",
|
|
||||||
" def install",
|
|
||||||
' bin.install "opencode"',
|
|
||||||
" end",
|
|
||||||
" end",
|
|
||||||
" end",
|
|
||||||
"",
|
|
||||||
" on_linux do",
|
|
||||||
" if Hardware::CPU.intel? and Hardware::CPU.is_64_bit?",
|
|
||||||
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-linux-x64.tar.gz"`,
|
|
||||||
` sha256 "${x64Sha}"`,
|
|
||||||
" def install",
|
|
||||||
' bin.install "opencode"',
|
|
||||||
" end",
|
|
||||||
" end",
|
|
||||||
" if Hardware::CPU.arm? and Hardware::CPU.is_64_bit?",
|
|
||||||
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-linux-arm64.tar.gz"`,
|
|
||||||
` sha256 "${arm64Sha}"`,
|
|
||||||
" def install",
|
|
||||||
' bin.install "opencode"',
|
|
||||||
" end",
|
|
||||||
" end",
|
|
||||||
" end",
|
|
||||||
"end",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
].join("\n")
|
|
||||||
|
|
||||||
await $`rm -rf ./dist/homebrew-tap`
|
|
||||||
await $`git clone https://${process.env["GITHUB_TOKEN"]}@github.com/sst/homebrew-tap.git ./dist/homebrew-tap`
|
|
||||||
await Bun.file("./dist/homebrew-tap/opencode.rb").write(homebrewFormula)
|
|
||||||
await $`cd ./dist/homebrew-tap && git add opencode.rb`
|
|
||||||
await $`cd ./dist/homebrew-tap && git commit -m "Update to v${Script.version}"`
|
|
||||||
await $`cd ./dist/homebrew-tap && git push`
|
|
||||||
}
|
|
||||||
|
|
@ -75,3 +75,188 @@ if (!Script.preview) {
|
||||||
const tagFlags = tags.flatMap((t) => ["-t", t])
|
const tagFlags = tags.flatMap((t) => ["-t", t])
|
||||||
await $`docker buildx build --platform ${platforms} ${tagFlags} --push .`
|
await $`docker buildx build --platform ${platforms} ${tagFlags} --push .`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// registries
|
||||||
|
if (!Script.preview) {
|
||||||
|
// Calculate SHA values
|
||||||
|
const arm64Sha = await $`sha256sum ./dist/opencode-linux-arm64.tar.gz | cut -d' ' -f1`.text().then((x) => x.trim())
|
||||||
|
const x64Sha = await $`sha256sum ./dist/opencode-linux-x64.tar.gz | cut -d' ' -f1`.text().then((x) => x.trim())
|
||||||
|
const macX64Sha = await $`sha256sum ./dist/opencode-darwin-x64.zip | cut -d' ' -f1`.text().then((x) => x.trim())
|
||||||
|
const macArm64Sha = await $`sha256sum ./dist/opencode-darwin-arm64.zip | cut -d' ' -f1`.text().then((x) => x.trim())
|
||||||
|
|
||||||
|
const [pkgver, _subver = ""] = Script.version.split(/(-.*)/, 2)
|
||||||
|
|
||||||
|
// arch
|
||||||
|
const binaryPkgbuild = [
|
||||||
|
"# Maintainer: dax",
|
||||||
|
"# Maintainer: adam",
|
||||||
|
"",
|
||||||
|
"pkgname='opencode-bin'",
|
||||||
|
`pkgver=${pkgver}`,
|
||||||
|
`_subver=${_subver}`,
|
||||||
|
"options=('!debug' '!strip')",
|
||||||
|
"pkgrel=1",
|
||||||
|
"pkgdesc='The AI coding agent built for the terminal.'",
|
||||||
|
"url='https://github.com/anomalyco/opencode'",
|
||||||
|
"arch=('aarch64' 'x86_64')",
|
||||||
|
"license=('MIT')",
|
||||||
|
"provides=('opencode')",
|
||||||
|
"conflicts=('opencode')",
|
||||||
|
"depends=('ripgrep')",
|
||||||
|
"",
|
||||||
|
`source_aarch64=("\${pkgname}_\${pkgver}_aarch64.tar.gz::https://github.com/anomalyco/opencode/releases/download/v\${pkgver}\${_subver}/opencode-linux-arm64.tar.gz")`,
|
||||||
|
`sha256sums_aarch64=('${arm64Sha}')`,
|
||||||
|
|
||||||
|
`source_x86_64=("\${pkgname}_\${pkgver}_x86_64.tar.gz::https://github.com/anomalyco/opencode/releases/download/v\${pkgver}\${_subver}/opencode-linux-x64.tar.gz")`,
|
||||||
|
`sha256sums_x86_64=('${x64Sha}')`,
|
||||||
|
"",
|
||||||
|
"package() {",
|
||||||
|
' install -Dm755 ./opencode "${pkgdir}/usr/bin/opencode"',
|
||||||
|
"}",
|
||||||
|
"",
|
||||||
|
].join("\n")
|
||||||
|
|
||||||
|
// Source-based PKGBUILD for opencode
|
||||||
|
const sourcePkgbuild = [
|
||||||
|
"# Maintainer: dax",
|
||||||
|
"# Maintainer: adam",
|
||||||
|
"",
|
||||||
|
"pkgname='opencode'",
|
||||||
|
`pkgver=${pkgver}`,
|
||||||
|
`_subver=${_subver}`,
|
||||||
|
"options=('!debug' '!strip')",
|
||||||
|
"pkgrel=1",
|
||||||
|
"pkgdesc='The AI coding agent built for the terminal.'",
|
||||||
|
"url='https://github.com/anomalyco/opencode'",
|
||||||
|
"arch=('aarch64' 'x86_64')",
|
||||||
|
"license=('MIT')",
|
||||||
|
"provides=('opencode')",
|
||||||
|
"conflicts=('opencode-bin')",
|
||||||
|
"depends=('ripgrep')",
|
||||||
|
"makedepends=('git' 'bun' 'go')",
|
||||||
|
"",
|
||||||
|
`source=("opencode-\${pkgver}.tar.gz::https://github.com/anomalyco/opencode/archive/v\${pkgver}\${_subver}.tar.gz")`,
|
||||||
|
`sha256sums=('SKIP')`,
|
||||||
|
"",
|
||||||
|
"build() {",
|
||||||
|
` cd "opencode-\${pkgver}"`,
|
||||||
|
` bun install`,
|
||||||
|
" cd ./packages/opencode",
|
||||||
|
` OPENCODE_CHANNEL=latest OPENCODE_VERSION=${pkgver} bun run ./script/build.ts --single`,
|
||||||
|
"}",
|
||||||
|
"",
|
||||||
|
"package() {",
|
||||||
|
` cd "opencode-\${pkgver}/packages/opencode"`,
|
||||||
|
' mkdir -p "${pkgdir}/usr/bin"',
|
||||||
|
' target_arch="x64"',
|
||||||
|
' case "$CARCH" in',
|
||||||
|
' x86_64) target_arch="x64" ;;',
|
||||||
|
' aarch64) target_arch="arm64" ;;',
|
||||||
|
' *) printf "unsupported architecture: %s\\n" "$CARCH" >&2 ; return 1 ;;',
|
||||||
|
" esac",
|
||||||
|
' libc=""',
|
||||||
|
" if command -v ldd >/dev/null 2>&1; then",
|
||||||
|
" if ldd --version 2>&1 | grep -qi musl; then",
|
||||||
|
' libc="-musl"',
|
||||||
|
" fi",
|
||||||
|
" fi",
|
||||||
|
' if [ -z "$libc" ] && ls /lib/ld-musl-* >/dev/null 2>&1; then',
|
||||||
|
' libc="-musl"',
|
||||||
|
" fi",
|
||||||
|
' base=""',
|
||||||
|
' if [ "$target_arch" = "x64" ]; then',
|
||||||
|
" if ! grep -qi avx2 /proc/cpuinfo 2>/dev/null; then",
|
||||||
|
' base="-baseline"',
|
||||||
|
" fi",
|
||||||
|
" fi",
|
||||||
|
' bin="dist/opencode-linux-${target_arch}${base}${libc}/bin/opencode"',
|
||||||
|
' if [ ! -f "$bin" ]; then',
|
||||||
|
' printf "unable to find binary for %s%s%s\\n" "$target_arch" "$base" "$libc" >&2',
|
||||||
|
" return 1",
|
||||||
|
" fi",
|
||||||
|
' install -Dm755 "$bin" "${pkgdir}/usr/bin/opencode"',
|
||||||
|
"}",
|
||||||
|
"",
|
||||||
|
].join("\n")
|
||||||
|
|
||||||
|
for (const [pkg, pkgbuild] of [
|
||||||
|
["opencode-bin", binaryPkgbuild],
|
||||||
|
["opencode", sourcePkgbuild],
|
||||||
|
]) {
|
||||||
|
for (let i = 0; i < 30; i++) {
|
||||||
|
try {
|
||||||
|
await $`rm -rf ./dist/aur-${pkg}`
|
||||||
|
await $`git clone ssh://aur@aur.archlinux.org/${pkg}.git ./dist/aur-${pkg}`
|
||||||
|
await $`cd ./dist/aur-${pkg} && git checkout master`
|
||||||
|
await Bun.file(`./dist/aur-${pkg}/PKGBUILD`).write(pkgbuild)
|
||||||
|
await $`cd ./dist/aur-${pkg} && makepkg --printsrcinfo > .SRCINFO`
|
||||||
|
await $`cd ./dist/aur-${pkg} && git add PKGBUILD .SRCINFO`
|
||||||
|
await $`cd ./dist/aur-${pkg} && git commit -m "Update to v${Script.version}"`
|
||||||
|
await $`cd ./dist/aur-${pkg} && git push`
|
||||||
|
break
|
||||||
|
} catch (e) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Homebrew formula
|
||||||
|
const homebrewFormula = [
|
||||||
|
"# typed: false",
|
||||||
|
"# frozen_string_literal: true",
|
||||||
|
"",
|
||||||
|
"# This file was generated by GoReleaser. DO NOT EDIT.",
|
||||||
|
"class Opencode < Formula",
|
||||||
|
` desc "The AI coding agent built for the terminal."`,
|
||||||
|
` homepage "https://github.com/anomalyco/opencode"`,
|
||||||
|
` version "${Script.version.split("-")[0]}"`,
|
||||||
|
"",
|
||||||
|
` depends_on "ripgrep"`,
|
||||||
|
"",
|
||||||
|
" on_macos do",
|
||||||
|
" if Hardware::CPU.intel?",
|
||||||
|
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-darwin-x64.zip"`,
|
||||||
|
` sha256 "${macX64Sha}"`,
|
||||||
|
"",
|
||||||
|
" def install",
|
||||||
|
' bin.install "opencode"',
|
||||||
|
" end",
|
||||||
|
" end",
|
||||||
|
" if Hardware::CPU.arm?",
|
||||||
|
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-darwin-arm64.zip"`,
|
||||||
|
` sha256 "${macArm64Sha}"`,
|
||||||
|
"",
|
||||||
|
" def install",
|
||||||
|
' bin.install "opencode"',
|
||||||
|
" end",
|
||||||
|
" end",
|
||||||
|
" end",
|
||||||
|
"",
|
||||||
|
" on_linux do",
|
||||||
|
" if Hardware::CPU.intel? and Hardware::CPU.is_64_bit?",
|
||||||
|
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-linux-x64.tar.gz"`,
|
||||||
|
` sha256 "${x64Sha}"`,
|
||||||
|
" def install",
|
||||||
|
' bin.install "opencode"',
|
||||||
|
" end",
|
||||||
|
" end",
|
||||||
|
" if Hardware::CPU.arm? and Hardware::CPU.is_64_bit?",
|
||||||
|
` url "https://github.com/anomalyco/opencode/releases/download/v${Script.version}/opencode-linux-arm64.tar.gz"`,
|
||||||
|
` sha256 "${arm64Sha}"`,
|
||||||
|
" def install",
|
||||||
|
' bin.install "opencode"',
|
||||||
|
" end",
|
||||||
|
" end",
|
||||||
|
" end",
|
||||||
|
"end",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
].join("\n")
|
||||||
|
|
||||||
|
await $`rm -rf ./dist/homebrew-tap`
|
||||||
|
await $`git clone https://${process.env["GITHUB_TOKEN"]}@github.com/sst/homebrew-tap.git ./dist/homebrew-tap`
|
||||||
|
await Bun.file("./dist/homebrew-tap/opencode.rb").write(homebrewFormula)
|
||||||
|
await $`cd ./dist/homebrew-tap && git add opencode.rb`
|
||||||
|
await $`cd ./dist/homebrew-tap && git commit -m "Update to v${Script.version}"`
|
||||||
|
await $`cd ./dist/homebrew-tap && git push`
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,17 @@ await Bun.file(extensionToml).write(toml)
|
||||||
|
|
||||||
await $`bun install`
|
await $`bun install`
|
||||||
|
|
||||||
console.log("\n=== opencode ===\n")
|
if (!Script.preview) {
|
||||||
|
await $`git commit -am "release: v${Script.version}"`
|
||||||
|
await $`git tag v${Script.version}`
|
||||||
|
await $`git fetch origin`
|
||||||
|
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} -d --title "v${Script.version}" --notes ${notes.join("\n") || "No notable changes"} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz`
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("\n=== cli ===\n")
|
||||||
await import(`../packages/opencode/script/publish.ts`)
|
await import(`../packages/opencode/script/publish.ts`)
|
||||||
|
|
||||||
console.log("\n=== sdk ===\n")
|
console.log("\n=== sdk ===\n")
|
||||||
|
|
@ -75,22 +85,3 @@ await import(`../packages/plugin/script/publish.ts`)
|
||||||
|
|
||||||
const dir = new URL("..", import.meta.url).pathname
|
const dir = new URL("..", import.meta.url).pathname
|
||||||
process.chdir(dir)
|
process.chdir(dir)
|
||||||
|
|
||||||
let output = `version=${Script.version}\n`
|
|
||||||
|
|
||||||
if (!Script.preview) {
|
|
||||||
await $`git commit -am "release: v${Script.version}"`
|
|
||||||
await $`git tag v${Script.version}`
|
|
||||||
await $`git fetch origin`
|
|
||||||
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} -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()
|
|
||||||
output += `release=${release.id}\n`
|
|
||||||
output += `tag=${release.tagName}\n`
|
|
||||||
}
|
|
||||||
|
|
||||||
if (process.env.GITHUB_OUTPUT) {
|
|
||||||
await Bun.write(process.env.GITHUB_OUTPUT, output)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue