Skip to main content

max / alloy

Correct the js arm's weight to what a mint actually costs The arm was filed at five packages and 216 MiB, from `dnf install --assumeno`. That transaction includes the weak deps and the arm does not run it: minting LANGS=rust,js against LANGS=rust measures three packages and a 93.2 MiB image delta, with nodejs-full-i18n confirmed absent. Node 22.22.2, npm 10.9.7.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-21 21:43 UTC
Commit: cb72caa7b8f2835448e35461fb0628c4ed8ebf07
Parent: 6086fdb
2 files changed, +13 insertions, -6 deletions
M Containerfile +12 -5
@@ -807,11 +807,18 @@
807 807 # does not carry it: a machine that builds MNW asks for `LANGS=rust,js`,
808 808 # and every other mint pays nothing.
809 809 #
810 - # Weight, measured 2026-08-21 with `dnf install --assumeno nodejs npm`:
811 - # five packages, 216 MiB installed, of which nodejs-full-i18n is 31.6.
812 - # The arm installs with install_weak_deps=False, which is what leaves the
813 - # i18n split behind; verify the two bundles still build before treating
814 - # that as settled.
810 + # Weight, MEASURED 2026-08-21 by minting the arm rather than by asking
811 + # dnf about it: three packages, 22 MiB download, 87 MiB installed, and a
812 + # 93.2 MiB delta between a LANGS=rust image and a LANGS=rust,js one
813 + # (4,983,258,990 to 5,080,964,131 bytes, podman inspect .Size). nodejs
814 + # is 162 KiB of that and nodejs-libs 78.2 MiB.
815 + #
816 + # The estimate this arm was filed with said five packages and 216 MiB,
817 + # from `dnf install --assumeno`. That number included the weak deps, and
818 + # install_weak_deps=False is what takes it to three packages -- so the
819 + # estimate was measuring a transaction this arm does not run. Node costs
820 + # about 40% of what the task predicted. nodejs-full-i18n, 31.6 MiB of the
821 + # estimate, is confirmed absent from the built image.
815 822 ARG LANGS=rust
816 823
817 824 # TRIM is the one builder choice about the *base* rather than about Alloy.
@@ -291,7 +291,7 @@
291 291 Lang::Go => "go (356 MB; rebuilds syncthing, restic, tailscale)",
292 292 Lang::Python => "python",
293 293 Lang::Zig => "zig",
294 - Lang::Js => "js (216 MiB; node and npm, for building MNW's frontends)",
294 + Lang::Js => "js (93 MiB; node and npm, for building MNW's frontends)",
295 295 }
296 296 }
297 297