5 Commits

Author SHA1 Message Date
a372b8a665 ci: use gitea-job-image (Python+Node+Git unified) 2026-07-06 18:48:02 +00:00
a23632b15c ci: use node:20-bookworm image for test/lint/security jobs 2026-07-06 05:00:05 +00:00
9b6e90ce0e test: add Vitest suite with 86% coverage threshold
- Add Vitest + jsdom test framework with V8 coverage
- 118 tests across 7 test files covering AppState, ProgressManager, EpisodeManager, FileListManager, fileUtils, main.js logic, renderer escapeHtml, preload module polyfill
- Fix async bug in extractFileDuration (await in non-async callback)
- CI enforces 85% coverage threshold on testable modules
- Exclude Electron IPC wrappers (FileManager, SearchManager, TagManager, ModalManager, UIManager) from coverage as they require Electron runtime
2026-07-06 04:54:40 +00:00
8d68d760ef CI: remove --no-cache for docker layer caching 2026-07-05 03:13:22 +00:00
89c26da489 CI: add generalized workflow 2026-07-05 02:46:33 +00:00