perf: cache system deps and npm packages in test workflow #32

Closed
elvis wants to merge 0 commits from feat/test_improvements into main
Owner

Summary

  • Add Build test image step: inlines a Dockerfile via stdin to build actual-mcp-test:latest with git, python3, make, g++ pre-installed — eliminating apt-get on every run (Docker layer cache persists on the NAS host)
  • Split Clone repository and Run tests into separate steps, sharing state via a named Docker volume (actual-mcp-src)
  • Mount a named Docker volume (actual-mcp-npm-cache) for npm's cache directory to speed up npm install

Test plan

  • Trigger a PR — first run builds and warms the image + npm volume caches
  • Trigger a second PR — confirm apt-get step is gone, npm install is faster
  • Confirm clone and test steps appear separately in the run log
  • Confirm tests still pass

🤖 Generated with Claude Code

## Summary - Add `Build test image` step: inlines a `Dockerfile` via stdin to build `actual-mcp-test:latest` with `git`, `python3`, `make`, `g++` pre-installed — eliminating `apt-get` on every run (Docker layer cache persists on the NAS host) - Split `Clone repository` and `Run tests` into separate steps, sharing state via a named Docker volume (`actual-mcp-src`) - Mount a named Docker volume (`actual-mcp-npm-cache`) for npm's cache directory to speed up `npm install` ## Test plan - [ ] Trigger a PR — first run builds and warms the image + npm volume caches - [ ] Trigger a second PR — confirm `apt-get` step is gone, `npm install` is faster - [ ] Confirm clone and test steps appear separately in the run log - [ ] Confirm tests still pass 🤖 Generated with [Claude Code](https://claude.com/claude-code)
refactor: split clone and run tests into separate workflow steps
Some checks failed
Test / test (pull_request) Has been cancelled
8c4d793ed7
Share state between steps via a named Docker volume (actual-mcp-src)
since the runner and test containers are Docker siblings (DooD).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
elvis closed this pull request 2026-05-28 19:45:53 +00:00
Some checks are pending
Test / test (pull_request) Has been cancelled
Run Unit Tests / test (pull_request)
Required

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
elvis/actual-mcp!32
No description provided.