Skip to content

ci(pm-bench): add aube + flexible bench controls#2815

Merged
elrrrrrrr merged 4 commits intonextfrom
ci/pm-bench-add-aube
Apr 20, 2026
Merged

ci(pm-bench): add aube + flexible bench controls#2815
elrrrrrrr merged 4 commits intonextfrom
ci/pm-bench-add-aube

Conversation

@elrrrrrrr
Copy link
Copy Markdown
Contributor

@elrrrrrrr elrrrrrrr commented Apr 20, 2026

Summary

  • Add the aube package manager to the pm-bench matrix so we can profile utoo against it on real projects
  • Switch `pm_list` from a choice dropdown to a free-form string so ad-hoc PM subsets (e.g. `utoo,aube`) don't need a new enum option each time
  • Add a `build_current` toggle that short-circuits the Rust build when benchmarking only against the npm-published utoo baseline + other PMs

Why

aube uses a per-file CAS + pnpm-style isolated `.aube/` virtual store, which is a structurally different profile from utoo's nested-hardlink layout. Having it in the bench surfaces where our system-call-heavy warm install diverges from a symlink-based approach.

The `build_current` flag matters because a run that only needs the npm baseline shouldn't spend ~5min on cargo before the bench starts.

Details

  • aube's CLI has no `--registry` flag, so `get_install_cmd` uses `NPM_CONFIG_REGISTRY=` instead
  • aube reads `pnpm-workspace.yaml` (not npm's `workspaces` field), so the existing pnpm workspace setup is extended to cover it
  • Cold-purge clears both `$XDG_DATA_HOME/aube` (tarball CAS) and `$XDG_CACHE_HOME/aube` (packument/manifest + virtual-store); confirmed against `crates/aube-store/src/dirs.rs`

Test plan

  • Linux workflow completed successfully on `build_current=false + baseline=true + pm_list=utoo,aube` (run 24647193713)
  • macOS workflow run
  • Verify free-form `pm_list` accepts custom comma-separated input

🤖 Generated with Claude Code

elrrrrrrr and others added 3 commits April 20, 2026 11:00
aube's CLI has no --registry flag, so we use NPM_CONFIG_REGISTRY instead.
It reads pnpm-workspace.yaml (not the npm workspaces field), so reuse
the existing pnpm workspace setup. Cold-purge clears the aube store at
$XDG_DATA_HOME/aube and cache at $XDG_CACHE_HOME/aube.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When benchmarking only against the npm-published utoo (baseline=true),
building the current branch from source is pure overhead. Add a
build_current input (default true for backward compat) that short-circuits
build-linux and the macOS cargo steps. In that mode, the npm-installed
utoo takes the primary spot in the bench instead of being injected
alongside current-build utoo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Switch pm_list from choice dropdown to string so runs can opt into
arbitrary subsets like utoo,aube without adding a new option per combo.
Also clarify that AUBE_CACHE_DIR already covers aube's packument
(manifest) cache: aube-store's cache_dir() points at $XDG_CACHE_HOME/aube,
which holds both metadata and global-links — so cold-run rm -rf on that
plus AUBE_STORE_DIR gives a fully cold start.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for the aube package manager to the e2e/pm-bench.sh benchmarking script. The changes include defining storage and cache directories, implementing cache cleaning for cold runs, and integrating aube into the workspace setup and installation command generation logic. Review feedback suggests removing a redundant directory change and ensuring the registry variable is properly quoted to prevent word splitting.

Comment thread e2e/pm-bench.sh
Comment thread e2e/pm-bench.sh
@elrrrrrrr elrrrrrrr added the A-Pkg Manager Area: Package Manager label Apr 20, 2026
@elrrrrrrr elrrrrrrr marked this pull request as ready for review April 20, 2026 08:04
@elrrrrrrr elrrrrrrr merged commit fba5204 into next Apr 20, 2026
44 of 52 checks passed
@elrrrrrrr elrrrrrrr deleted the ci/pm-bench-add-aube branch April 20, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Pkg Manager Area: Package Manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants