-
-
Notifications
You must be signed in to change notification settings - Fork 1
37 lines (34 loc) · 1.61 KB
/
Copy pathci.yml
File metadata and controls
37 lines (34 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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