release: harness-canopy 2.3.1 #96
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |