Skip to content

Commit dc40d25

Browse files
authored
ci+docs: reverse engine-contract CI; point install story at @opencoven/cli
Adds a non-blocking bootstrap job that runs coven's engine contract tests against this engine, and updates install.sh/install.ps1/npm to recommend the unified @opencoven/cli while keeping standalone installs working. Becomes a hard gate once OpenCoven/coven#346 lands and the job is proven stable.
1 parent 6e85b1e commit dc40d25

5 files changed

Lines changed: 49 additions & 1 deletion

File tree

.github/workflows/rust-ci.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,44 @@ jobs:
6262
- name: Run tests
6363
working-directory: src-rust
6464
run: cargo test --workspace --locked --quiet
65+
66+
coven-contract:
67+
name: Coven engine contract (non-blocking until coven#346 lands)
68+
runs-on: ubuntu-latest
69+
timeout-minutes: 45
70+
# Non-blocking during bootstrap: coven `main` gains the engine contract
71+
# tests only when OpenCoven/coven#346 + the engine-lock PR merge. Until then
72+
# `cargo test contract` on coven matches zero tests and passes. Once coven
73+
# main carries the suite and this job is proven stable, remove
74+
# `continue-on-error` to make engine contract breaks a hard gate.
75+
continue-on-error: true
76+
steps:
77+
- uses: actions/checkout@v5
78+
with:
79+
persist-credentials: false
80+
81+
- name: Install Rust toolchain
82+
uses: dtolnay/rust-toolchain@stable
83+
84+
- name: Install system dependencies (engine + coven)
85+
run: |
86+
sudo apt-get update
87+
sudo apt-get install -y libasound2-dev pkg-config libopenblas-dev
88+
89+
- name: Build the engine
90+
working-directory: src-rust
91+
run: cargo build --release -p claurst --locked
92+
93+
- name: Check out OpenCoven/coven
94+
uses: actions/checkout@v5
95+
with:
96+
repository: OpenCoven/coven
97+
path: coven-main
98+
persist-credentials: false
99+
100+
- name: Run coven's engine contract tests against this engine
101+
working-directory: coven-main
102+
run: |
103+
ENGINE="$GITHUB_WORKSPACE/src-rust/target/release/coven-code"
104+
echo "engine: $ENGINE"; "$ENGINE" --version
105+
COVEN_ENGINE_BIN="$ENGINE" cargo test -p coven-cli --locked contract -- --nocapture

install.ps1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ function GithubPathHint {
227227
}
228228

229229
# ----- Main flow -----
230+
Write-Info "Tip: the unified Coven CLI installs and manages this engine for you -- 'npm install -g @opencoven/cli', then run 'coven'. This standalone installer still works."
231+
230232
if (-not [string]::IsNullOrEmpty($Binary)) {
231233
Install-FromBinary
232234
} else {

install.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ while [[ $# -gt 0 ]]; do
6363
esac
6464
done
6565

66+
print_message info "Tip: the unified Coven CLI installs and manages this engine for you — 'npm install -g @opencoven/cli', then run 'coven'. This standalone installer still works."
67+
6668
# Detect platform
6769
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
6870
ARCH=$(uname -m)

npm/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
[![Version](https://img.shields.io/npm/v/@opencoven/coven-code?style=flat-square)](https://www.npmjs.com/package/@opencoven/coven-code)
44
[![License](https://img.shields.io/badge/License-GPL--3.0-blue?style=flat-square)](https://github.com/OpenCoven/coven-code/blob/main/LICENSE.md)
55

6+
> **Recommended install:** `npm install -g @opencoven/cli` — the unified `coven` CLI installs and manages this engine for you.
7+
> This package (`@opencoven/coven-code`) still installs the engine binary directly and continues to work.
8+
69
**Coven Code** — open-source agentic coding TUI built in Rust.
710
OpenCoven fork of [Claurst](https://github.com/Kuberwastaken/claurst) by Kuber Mehta (GPL-3.0).
811

npm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@opencoven/coven-code",
33
"version": "0.6.1",
4-
"description": "Open-source agentic coding TUI for the terminal \u2014 OpenCoven fork of Claurst",
4+
"description": "Coven engine (agentic coding TUI). The unified CLI is @opencoven/cli \u2014 'npm i -g @opencoven/cli'. This package installs the engine binary directly.",
55
"license": "GPL-3.0-only",
66
"repository": {
77
"type": "git",

0 commit comments

Comments
 (0)