Skip to content

fix: align aube install scripts and cold-cache cleanup - #176

Merged
lukekarrys merged 1 commit into
vltpkg:mainfrom
jdx:codex/aube-benchmark-parity
Sep 25, 2026
Merged

lukekarrys merged 1 commit into
vltpkg:mainfrom
jdx:codex/aube-benchmark-parity

Conversation

@jdx

@jdx jdx commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

The package-manager benchmarks aim to exclude lifecycle scripts, but aube was invoked without --ignore-scripts. aube 2.4.0 runs builds for its bundled trusted dependencies, so Babylon's install was compiling native modules and running Puppeteer downloads while Bun and pnpm had scripts disabled.

Pass --ignore-scripts to aube's regular install, CI command, and CI lockfile preparation. This also covers the bare command used for process counting:

aube install --ignore-scripts --silent
aube ci --ignore-scripts --silent

Also clear the configured content store returned by aube store path and honor XDG_CACHE_HOME. The old cleanup only removed ~/.cache/aube and ~/.aube-store, leaving the current XDG data store populated across supposedly cold runs. Keep the legacy-directory cleanup for older releases. This correction can increase cold-run times; both changes are needed for comparable workloads.

Validation on Linux x86-64 with aube 2.4.0 and the Babylon fixture at aff8423:

Command Three wall-time samples Median
aube install --silent 33.92s, 35.02s, 37.82s 35.02s
aube install --ignore-scripts --silent 28.01s, 28.51s, 28.40s 28.40s

Each untraced run started without node_modules or a lockfile and with a fresh aube metadata cache and content store. The six runs interleaved the two commands and used the public registry; previously downloaded Puppeteer browsers remained cached. All six succeeded with the same 1,694-package graph. Separate strace runs showed 448 execution attempts with the default policy versus 2 with scripts disabled. These measurements validate the mismatch; they do not predict the site's ARM64 results or the combined effect of correcting its store cleanup.

All eight Node tests pass, including new coverage for a configured store path containing spaces, a failed store-path lookup, and preserving the store during metadata-only cleanup. Bash syntax checks and ShellCheck's error-level checks pass for the changed scripts.

AI-assisted — Tool: Codex; model: OpenAI/unavailable; version: unavailable.

@coderabbitai

coderabbitai Bot commented Sep 25, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 68296dcf-53bc-4ddc-ba47-6ba7b3615579

📥 Commits

Reviewing files that changed from the base of the PR and between aff8423 and d7eea33.

📒 Files selected for processing (4)
  • scripts/clean-helpers.sh
  • scripts/clean-helpers.test.js
  • scripts/variations/ci.sh
  • scripts/variations/common.sh
 _______________________________________________________________________________________________________
< Start when you're ready. You've been building experience all your life. Don't ignore niggling doubts. >
 -------------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lukekarrys
lukekarrys merged commit a1105bf into vltpkg:main Sep 25, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants