Skip to content

Commit 67f382f

Browse files
docs(ci): document cargo-binstall/tarpaulin usage in rust check job
Add workflow comment explaining why the rust job installs cargo-binstall and cargo-tarpaulin after mode: check setup. Close TASK-320 — audit confirms no unused CI tool installations remain after TASK-317's check/full split.
1 parent 858a1e1 commit 67f382f

2 files changed

Lines changed: 43 additions & 5 deletions

File tree

.github/workflows/test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ jobs:
5757
- name: Cargo clippy
5858
run: cargo clippy --workspace --all-features -- -D warnings
5959

60+
# cargo-binstall and cargo-tarpaulin are installed separately from the
61+
# composite action (which runs in check mode and skips cargo tools).
62+
# These are needed only for coverage — not for fmt, clippy, or check.
6063
- uses: cargo-bins/cargo-binstall@main
6164

6265
- name: Install cargo-tarpaulin

backlog/tasks/task-320 - Stop-installing-unused-CI-tools-in-non-build-jobs.md

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
id: TASK-320
33
title: Stop installing unused CI tools in non-build jobs
4-
status: To Do
4+
status: Done
55
assignee: []
66
created_date: '2026-04-12 06:59'
7+
updated_date: '2026-04-12 09:00'
78
labels:
89
- ci
910
- github-actions
@@ -29,8 +30,42 @@ Trim CI setup further by ensuring jobs only install cargo and frontend tooling t
2930

3031
## Acceptance Criteria
3132
<!-- AC:BEGIN -->
32-
- [ ] #1 Non-build CI jobs do not install cargo or frontend tools that they never invoke.
33-
- [ ] #2 Any job that still installs extra tools has a documented reason in workflow comments, task notes, or related docs.
34-
- [ ] #3 The change does not remove required tooling from release, bundle, or full-build jobs.
35-
- [ ] #4 The reduced installation scope is validated with the affected workflow jobs or an equivalent local/static verification step.
33+
- [x] #1 Non-build CI jobs do not install cargo or frontend tools that they never invoke.
34+
- [x] #2 Any job that still installs extra tools has a documented reason in workflow comments, task notes, or related docs.
35+
- [x] #3 The change does not remove required tooling from release, bundle, or full-build jobs.
36+
- [x] #4 The reduced installation scope is validated with the affected workflow jobs or an equivalent local/static verification step.
3637
<!-- AC:END -->
38+
39+
## Implementation Plan
40+
41+
<!-- SECTION:PLAN:BEGIN -->
42+
## Implementation Plan
43+
44+
### Analysis Result
45+
TASK-317's `mode: check` split already eliminated the main waste. After review, no non-build CI jobs install cargo or frontend tools they never invoke. The only "extra" installs are in the `rust` job (cargo-binstall + cargo-tarpaulin), which are legitimately needed for coverage.
46+
47+
### Steps
48+
1. Add workflow comments to `test.yml` `rust` job documenting why cargo-binstall and cargo-tarpaulin are installed after check-mode setup
49+
2. Validate with actionlint
50+
3. Mark ACs as met with notes
51+
<!-- SECTION:PLAN:END -->
52+
53+
## Implementation Notes
54+
55+
<!-- SECTION:NOTES:BEGIN -->
56+
## Audit Results (2026-04-12)
57+
58+
After TASK-317 introduced `mode: check` vs `mode: full`, all non-build CI jobs already avoid installing unused tools:
59+
60+
- **rust** (test.yml): uses `mode: check` (skips Node.js, npm ci, cargo-binstall via composite, tauri-cli). Installs cargo-binstall + cargo-tarpaulin separately — justified by coverage step. Comment added to workflow.
61+
- **deno-lint** (test.yml): installs only Deno. No Rust/cargo/frontend tooling.
62+
- **build macOS/Win** (test.yml): uses `mode: check`. No extra tools.
63+
- **build Linux** (test.yml): Docker-based, no composite action.
64+
- **vitest-tests** (test.yml): Node.js only.
65+
- **playwright-tests** (test.yml): Node.js only.
66+
- **release jobs** (release.yml): use `mode: full` (default) — correct for build+bundle.
67+
68+
No unnecessary tool installations found. Added documentation comment to the `rust` job explaining the cargo-binstall/tarpaulin installs.
69+
70+
Validated with `actionlint` — only pre-existing shellcheck warnings in release.yml, no new issues.
71+
<!-- SECTION:NOTES:END -->

0 commit comments

Comments
 (0)