Skip to content

ci(pipboy): add package footprint - #359

Merged
eersnington merged 4 commits into
mainfrom
stack/ci-ci-insights-add-package-footprint-tmymzrrk
Oct 21, 2026
Merged

eersnington merged 4 commits into
mainfrom
stack/ci-ci-insights-add-package-footprint-tmymzrrk

Conversation

@eersnington

@eersnington eersnington commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Add .github/workflows/pipboy.yml and scripts/pipboy. Each PR gets one comment that shows what the change does to the npm packages we publish.

flowchart LR
  changes --> footprint --> report --> comment["PR comment"]
  main["push to main"] -. baseline tarballs .-> footprint
Loading
  • pipboy pack packs every non-private package in packages/* and sandbox-agent/sdks/*, the set publishNpmLibraries in scripts/release/sdk.ts publishes. Each pnpm workspace builds its own packages.
  • pipboy footprint resolves each package in its own npm install --package-lock-only project against the merge base and @latest, on 5 platforms. Sizes come from the registry's unpackedSize. Nothing is downloaded.
  • @sandbox-agent/cli and @sandbox-agent/gigacode resolve from the registry, because their binaries are added at publish time.
  • The comment names the dependency and the floating 0.x range behind a size change.
  • The job fails only when the PR pushes a package over its entry in BUDGETS.
pnpm --filter pipboy pipboy pack --out /tmp/pr
pnpm --filter pipboy pipboy footprint --pr /tmp/pr --base /tmp/base --out footprint.json

Security

  • Jobs run on pull_request and push only. Only report gets pull-requests: write, and it builds nothing. Actions are pinned by SHA and checked by zizmor.

This is part 1 of 4 in a stack:

@railway-app

railway-app Bot commented Oct 20, 2026

Copy link
Copy Markdown

This PR was not deployed automatically as @eersnington does not have access to the Railway project.

In order to get automatic PR deploys, please add @eersnington to your workspace on Railway.

@eersnington
eersnington marked this pull request as ready for review October 20, 2026 08:20
@eersnington
eersnington force-pushed the stack/ci-ci-insights-add-package-footprint-tmymzrrk branch from 1abb628 to 45609c6 Compare October 20, 2026 08:20
@eersnington eersnington changed the title ci(ci-insights): add package footprint ci(pipboy): add package footprint Oct 20, 2026
@rivet-dev rivet-dev deleted a comment from github-actions Bot Oct 20, 2026
@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

📟 Pip-Boy · 88f6654

📦 Packages · fresh npm install resolve, no lockfile · this PR vs base

No notable install size, dependency, or entrypoint changes across 10 packages.

All 10 packages · linux-x64-gnu
package (linux-x64-gnu) @latest base this PR Δ vs base packages
@rivet-dev/pi 428.6 MB 428.6 MB 428.6 MB 0 215 (0)
@rivet-dev/sandbox-adapter 75.0 MB 75.0 MB 75.0 MB 0 92 (0)
@sandbox-agent/cli-shared 27.2 KB 27.2 KB 27.2 KB 0 1 (0)
@sandbox-agent/persist-indexeddb 12.4 KB 12.4 KB 12.4 KB 0 1 (0)
@sandbox-agent/persist-postgres 12.3 KB 12.3 KB 12.3 KB 0 1 (0)
@sandbox-agent/persist-rivet 12.2 KB 12.2 KB 12.2 KB 0 1 (0)
@sandbox-agent/persist-sqlite 12.3 KB 12.3 KB 12.3 KB 0 1 (0)
@sandbox-agent/react 41.5 MB 41.8 MB 41.8 MB 0 15 (0)
acp-http-client 6.7 MB 6.7 MB 6.7 MB 0 3 (0)
sandbox-agent 30.9 MB 31.0 MB 31.0 MB 0 8 (0)

🧹 Rust dependencies · cargo deny + cargo shear

check new in this PR fixed existing on base
advisories ✅ 0 0 14
licenses ✅ 0 318 0
sources ✅ 0 0 0
bans ✅ 0 0 0
unused ✅ 0 0 13

🦀 Binaries · publish Dockerfiles, --release

No native build on main to compare against yet.

artifact npm @latest base this PR Δ vs base
gigacode linux-x64 23.6 MB — 23.6 MB —
sandbox-agent linux-x64 23.6 MB — 23.5 MB —

⏱ Timing

job wall time slowest step
changes 18s checkout · 15s
zizmor 16s checkout · 10s
footprint 3m48s Run pnpm --dir sandbox-agent install --frozen-lockfile · 1m29s
hygiene 43s checkout · 13s
self-test 35s Run pnpm --filter pipboy test · 10s
native · linux-x64 3m25s Build with the release script · 2m21s
report 23s checkout · 10s
🔭 Full CI trace for this commit

One OpenTelemetry trace of CI and Pip-Boy for 88f6654: every job and step, with the sizes above attached. Run after CI finishes.

pnpm install --frozen-lockfile --filter 'pipboy...'
pnpm --filter pipboy pipboy trace --sha 88f665487d7413c5a8750dd0c06dec992a7a3bec

Add --otlp <url> to send it to any OTLP/HTTP collector.

Agent instruction: From a rivet-dev/agents checkout, run the commands above, then read the trace file the last command prints. List the slowest jobs and steps and explain where CI time went.

@eersnington
eersnington merged commit 6f2cb58 into main Oct 21, 2026
10 checks passed
@eersnington
eersnington deleted the stack/ci-ci-insights-add-package-footprint-tmymzrrk branch October 21, 2026 18:06
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.

1 participant