Release 2.1.189 (2026-08-12)¶
Features¶
-
add [container].build-command + build-cache-files keys (#2770) Task 1 of epic vergil-project/.github#291 (Ref #2762). Two new optional [container] keys: build-command (a single shell string, default None) and build-cache-files (list of repo-relative paths, default []). Extends the known-keys allowlist, adds the ContainerConfig fields (with dataclass defaults, so existing constructions are unaffected), strict validation mirroring system-packages, and the single-reader accessors container_build_command / container_build_cache_files. No behaviour change yet — surfaces the keys for Tasks 2 (local bake) and 3 (CI speller).
-
bake [container].build-command into the cached image (#2772) Extend the local cache-build to run a repo's declared [container].build-command and fold [container].build-cache-files into the image cache hash.
-
Add the pure, unit-testable _compose_setup(repo_root, lang) helper that builds the setup string as
&& && && . The build-command runs after the vergil-tooling install and before the language warmup so its environment matches CI; for the self-repo path (which skips the uv install) it runs after apt and before warmup, the same relative slot. An absent (None) build-command yields a byte-identical setup string to before. - Fail-closed: a non-zero build-command aborts the && chain via the existing setup-step failure path. Surface the command in the provisioning banner.
-
Fold declared build-cache-files that exist into cache_sensitive_files (deduped against the language defaults) so a listed lockfile change rebuilds the image.
-
add vrg-container-build-command speller for CI (#2773) Add a console-script speller that emits the repo's declared [container].build-command for CI to run, mirroring vrg-container-system-packages. Reads via config.container_build_command; supports --script and --repo-root; prints nothing when no command is declared.
CI Evidence: All gates passed — full audit bundle available. Download →