Browse Source

chore: prepare companion 0.1.2 release

Alvin Unreal 1 month ago
parent
commit
eee0e73fc4

+ 32 - 1
.github/workflows/companion-release.yml

@@ -9,7 +9,7 @@ on:
         type: string
       targets:
         description: >-
-          Comma-separated targets to build: macos-arm64,macos-x64,linux-x64,windows-x64
+          Comma-separated targets to build: macos-arm64,macos-x64,linux-x64,linux-arm64,windows-x64
         required: true
         default: macos-arm64
         type: string
@@ -100,6 +100,36 @@ jobs:
           name: companion-linux-x64
           path: '*.tar.gz'
 
+  linux-arm64:
+    name: Linux arm64
+    if: contains(github.event.inputs.targets, 'linux-arm64')
+    runs-on: ubuntu-24.04-arm
+    steps:
+      - uses: actions/checkout@v4
+      - uses: dtolnay/rust-toolchain@stable
+        with:
+          targets: aarch64-unknown-linux-gnu
+      - name: Install system dependencies
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev
+      - name: Build companion
+        working-directory: companion
+        run: cargo build --release --target aarch64-unknown-linux-gnu
+      - name: Package companion
+        run: |
+          set -euo pipefail
+          version='${{ github.event.inputs.version }}'
+          target='aarch64-unknown-linux-gnu'
+          name="oh-my-opencode-slim-companion-v${version}-${target}"
+          mkdir -p dist
+          cp "companion/target/${target}/release/oh-my-opencode-slim-companion" dist/oh-my-opencode-slim-companion
+          tar -C dist -czf "${name}.tar.gz" oh-my-opencode-slim-companion
+      - uses: actions/upload-artifact@v4
+        with:
+          name: companion-linux-arm64
+          path: '*.tar.gz'
+
   windows-x64:
     name: Windows x64
     if: contains(github.event.inputs.targets, 'windows-x64')
@@ -132,6 +162,7 @@ jobs:
       - macos-arm64
       - macos-x64
       - linux-x64
+      - linux-arm64
       - windows-x64
     if: always() && !cancelled() && !failure()
     runs-on: ubuntu-latest

+ 1 - 1
companion/Cargo.lock

@@ -2319,7 +2319,7 @@ dependencies = [
 
 [[package]]
 name = "oh-my-opencode-slim-companion"
-version = "0.1.1"
+version = "0.1.2"
 dependencies = [
  "dirs",
  "eframe",

+ 1 - 1
companion/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "oh-my-opencode-slim-companion"
-version = "0.1.1"
+version = "0.1.2"
 edition = "2021"
 description = "Desktop companion for oh-my-opencode-slim — shows active agent GIFs per session"
 

+ 15 - 14
docs/companion.md

@@ -53,7 +53,7 @@ Pass `--companion=no` to skip the native binary and omit the config block.
 
 ## niri support status
 
-The native `companion-v0.1.1` binary now works on niri and exposes a stable
+The native `companion-v0.1.2` binary now works on niri and exposes a stable
 Wayland app-id/title: `oh-my-opencode-slim-companion`.
 
 niri users who want the Companion to behave like an overlay should add a window
@@ -105,7 +105,7 @@ For the desktop companion app, the release workflow follows the V2 distribution
 plan:
 
 1. **GitHub Release Assets**: companion binaries are uploaded to the
-   `companion-v0.1.1` GitHub release.
+   `companion-v0.1.2` GitHub release.
 2. **Separate Companion Versioning**: the companion uses its own version so the
    plugin can ship beta updates without rebuilding native binaries every time.
 3. **OS/Arch Detection**: `--companion=yes` selects the archive for the current
@@ -116,11 +116,11 @@ plan:
 Current release assets are named:
 
 ```text
-oh-my-opencode-slim-companion-v0.1.1-aarch64-apple-darwin.tar.gz
-oh-my-opencode-slim-companion-v0.1.1-x86_64-apple-darwin.tar.gz
-oh-my-opencode-slim-companion-v0.1.1-x86_64-unknown-linux-gnu.tar.gz
-oh-my-opencode-slim-companion-v0.1.1-aarch64-unknown-linux-gnu.tar.gz
-oh-my-opencode-slim-companion-v0.1.1-x86_64-pc-windows-msvc.zip
+oh-my-opencode-slim-companion-v0.1.2-aarch64-apple-darwin.tar.gz
+oh-my-opencode-slim-companion-v0.1.2-x86_64-apple-darwin.tar.gz
+oh-my-opencode-slim-companion-v0.1.2-x86_64-unknown-linux-gnu.tar.gz
+oh-my-opencode-slim-companion-v0.1.2-aarch64-unknown-linux-gnu.tar.gz
+oh-my-opencode-slim-companion-v0.1.2-x86_64-pc-windows-msvc.zip
 ```
 
 Supported installer targets:
@@ -144,13 +144,13 @@ protocol expected by the plugin changes.
 The first companion release is:
 
 ```text
-0.1.1
+0.1.2
 ```
 
 The matching GitHub release tag is:
 
 ```text
-companion-v0.1.1
+companion-v0.1.2
 ```
 
 The installer currently downloads from that tag.
@@ -162,7 +162,7 @@ you are testing the release path:
 
 ```bash
 gh workflow run companion-release.yml \
-  -f version=0.1.1 \
+  -f version=0.1.2 \
   -f targets=macos-arm64
 ```
 
@@ -170,8 +170,8 @@ Build multiple targets by passing a comma-separated list:
 
 ```bash
 gh workflow run companion-release.yml \
-  -f version=0.1.1 \
-  -f targets=macos-arm64,macos-x64,linux-x64,windows-x64
+  -f version=0.1.2 \
+  -f targets=macos-arm64,macos-x64,linux-x64,linux-arm64,windows-x64
 ```
 
 Supported workflow target names:
@@ -180,6 +180,7 @@ Supported workflow target names:
 macos-arm64
 macos-x64
 linux-x64
+linux-arm64
 windows-x64
 ```
 
@@ -191,7 +192,7 @@ the selected archives.
 After the workflow finishes:
 
 ```bash
-gh release view companion-v0.1.1
+gh release view companion-v0.1.2
 ```
 
 Confirm the release contains the archive names expected by the installer for the
@@ -206,7 +207,7 @@ bunx oh-my-opencode-slim@beta install --companion=yes
 ```
 
 The installer detects the user's OS/architecture, downloads the matching archive
-from `companion-v0.1.1`, installs it to the runtime binary path, and writes the
+from `companion-v0.1.2`, installs it to the runtime binary path, and writes the
 companion config block. If the companion install fails, the core plugin install
 continues without enabling Companion.
 

+ 1 - 1
docs/configuration.md

@@ -139,7 +139,7 @@ Presets can also be switched at runtime without restarting using the `/preset` c
 | `companion.position` | string | `"bottom-right"` | The initial corner position of the companion window: `bottom-right`, `bottom-left`, `top-right`, or `top-left` |
 | `companion.size` | string | `"medium"` | The default size preset of the companion window: `small` (80px), `medium` (120px), or `large` (160px) |
 
-> **niri note:** `companion-v0.1.1` is the fixed native companion release.
+> **niri note:** `companion-v0.1.2` is the fixed native companion release.
 > To make it open as a bottom-right overlay, add a niri rule matching its stable
 > `app-id`/title (`oh-my-opencode-slim-companion`), for example:
 >

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "oh-my-opencode-slim",
-  "version": "2.0.1",
+  "version": "2.0.2",
   "description": "Lightweight agent orchestration plugin for OpenCode - a slimmed-down fork of oh-my-opencode",
   "main": "dist/index.js",
   "types": "dist/index.d.ts",

+ 2 - 2
src/cli/companion.ts

@@ -12,8 +12,8 @@ import { homedir, tmpdir } from 'node:os';
 import * as path from 'node:path';
 import type { ConfigMergeResult, InstallConfig } from './types';
 
-const COMPANION_VERSION = '0.1.1';
-const COMPANION_TAG = 'companion-v0.1.1';
+const COMPANION_VERSION = '0.1.2';
+const COMPANION_TAG = 'companion-v0.1.2';
 const GITHUB_REPO = 'alvinunreal/oh-my-opencode-slim';
 
 export function getCompanionTarget(): string | null {