Skip to content

release: harness-canopy 2.3.1 #96

release: harness-canopy 2.3.1

release: harness-canopy 2.3.1 #96

Workflow file for this run

name: CI
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
ci:
uses: UniverLab/workflows/.github/workflows/rust-ci.yml@main
with:
system-packages: protobuf-compiler
# Default features only. `--all-features` turns on local-embeddings,
# which pulls fastembed and needs an ONNX Runtime the runners do not
# carry — that mismatch is what pushed this repo off the shared
# workflow in the first place.
feature-flags: ""
# `src/tui/ui/**` is pure ratatui rendering: functions whose whole job
# is to draw onto a Frame, and whose correctness is visual rather than
# logical. Covering it means asserting on screen-buffer contents, which
# costs a lot of test for very little defect-catching. Event handlers
# and app state stay inside the gate — that is the logic worth holding
# to a threshold. Not anchored with ^ because llvm-cov matches full
# runner paths.
coverage-ignore-regex: "src/tui/ui/"
coverage-threshold: 80
# The local gate (install-canopy.sh) runs `cargo nextest run`, and parts
# of the suite depend on that: the handler's endpoint tests set the real
# CANOPY_AGENT_ID env var, because resolve_sync_agent_id falls back to it
# when a direct call carries no request headers. Under `cargo test` those
# tests are threads in one process, so one test's teardown unsets the var
# underneath another — a race that surfaced as a coverage failure with a
# green check job on the same commit. Same runner here as locally.
use-nextest: true
secrets: inherit