syntaqxSandboxes have the command-line tools GitHub's Ubuntu runners have: on flagon-io/automation-lab, the Machine size workflow's `df -h / && nproc && free -g` failed with exit 127 (free: command not found) on both machines, because node:24-bookworm-slim has no procps and the base never installed it. The base's last layer now installs what a workflow written for GitHub reaches for without a setup step: procps, psmisc, lsof, time, less, tzdata, acl; iproute2, iputils-ping, dnsutils, netcat-openbsd, net-tools, rsync; bzip2, lz4, p7zip-full, pigz, brotli; autoconf, automake, libtool, m4, bison, flex, cmake, ninja-build, patchelf; git-lfs (installed system-wide), shellcheck, sqlite3 and the sqlite, bz2 and lzma headers, parallel, tree and python-is-python3. Last, so adding to the list rebuilds nothing above it. The actions guide lists them under "Command-line tools". Base rebuilt and pushed (base-20261015-77b70a7e6383, 4.32 GB unpacked; node:24-bookworm-slim had moved, so Node 24.22.0 and Docker 29.9.1 come with it). Deploy: runner. Checked: every package installed in node:24-bookworm-slim and each tool ran; in the pushed base, as the job user, `df -h / && nproc && free -g` exits 0, with python, rustc, ruby, java and git lfs answering.5f04e08History
- ..
- deploy
- emoji
- ops
- perf
- apt-install.sh
- build-runner.mjs
- build-rust-worker.mjs
- cli-release.mjs
- cli-release.test.mjs
- cloudflare-setup.py
- conformance-diff.mjs
- deploy.mjs
- deploy.sh
- desktop-cross-tools.sh
- desktop-release.mjs
- desktop-release.test.mjs
- mobile-release.mjs
- mobile-release.test.mjs
- plugins-release.mjs
- plugins-release.test.mjs
- runner-release.mjs
- runner-release.test.mjs
- sandbox-image.mjs
- sccache.sh
- setup-custom-domains.sh
- setup-deployments.sh