mirror of
https://github.com/redwoodjs/local-ci.git
synced 2026-09-19 07:54:29 +08:00
5b8acda506
- Rename package from 'machinen' to 'agent-ci' across all source, tests, scripts, configs, and docs - Rename CLI binary from 'machinen' to 'agent-ci' - Rename .machinen → .agent-ci, .env.machinen → .env.agent-ci, MACHINEN_* → AGENT_CI_* - Rename --runner flag to --name/-n (--runner still accepted for compat) - agent-ci-dev script now builds DTU before running CLI - Extract YAML compatibility tables to cli/compatibility.md - Expand CLI usage docs with per-command flag tables - Document DOCKER_HOST support for remote Docker
Package Manager Cache Benchmark
Benchmarks install speed for NPM, Yarn, and Bun across 4 caching scenarios using a real create-rwsdk project.
Why
Agent CI already caches PNPM installs via warm node_modules bind-mounts (symlinked into containers).
This experiment measures whether the same strategy works for other package managers.
Run
# All package managers
bash bench.sh
# Specific ones
bash bench.sh --pm npm
bash bench.sh --pm yarn
bash bench.sh --pm bun
bash bench.sh --pm npm,bun
Scenarios
| # | Scenario | What it tests |
|---|---|---|
| 1 | Cold install | Fresh install, no cache, no node_modules |
| 2 | Warm cache | Global cache populated, but node_modules deleted |
| 3 | Warm modules | node_modules already present, incremental install |
| 4 | Symlink only | Symlink a cached node_modules — no install at all |
Scenario 4 is the interesting one — it's what Agent CI does for PNPM. If it's ≫5× faster than cold install, the warm-modules strategy generalises to all package managers.
Requirements
- npm (bundled with Node)
- yarn v1:
npm i -g yarn - bun:
curl -fsSL https://bun.sh/install | bash