1
0
Fork 0
mirror of https://github.com/imjasonh/terraform-playground synced 2026-07-16 20:54:50 +00:00
Commit graph

9 commits

Author SHA1 Message Date
Cursor Agent
bec24b79ca
cli: default --platform to the base image's supported platforms
When no platform is given, inspect the base reference: a multi-arch base index
yields a multi-arch build (filtering out attestation/unknown entries), a
single-arch base yields one image. Explicit --platform still overrides. Adds
build.BasePlatforms with tests + a CLI default-platforms test; documents it.

Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 21:39:40 +00:00
Cursor Agent
389bfca56b
cli: stdout is only the image ref; log blob push/skip to stderr
- output() writes the single by-digest reference (repo@sha256:...) to stdout so
  'docker run "$(pymage build)"' works; per-tag pointers and ggcr's per-blob
  progress (pushed/existing/mounted blob) go to stderr via logs.Progress
- adds TestBuildStdoutIsImageRef asserting the stdout contract and that blob
  logs land on stderr; documents it in the README
- completes and removes todo.txt

Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 21:28:10 +00:00
Jason Hall
d587263759 lots of changes
Signed-off-by: Jason Hall <jason.hall@anysphere.co>
2026-06-10 17:05:36 -04:00
Cursor Agent
d670295074
cli: make --python optional, auto-detect from base when omitted
If --python is given it must match the base's detected Python version; if
omitted, the version is auto-detected (PYTHON_VERSION env, else apko.json) and
used for both wheel selection and the site-packages layout. Errors clearly when
the base version can't be determined and --python is unset. CI now relies on
auto-detection (drops --python). Adds resolveInterpreter tests and asserts the
auto-detected version flows into the image.

Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 16:24:07 +00:00
Cursor Agent
f17ec18a0c
build: validate base interpreter against --python to catch floating-tag drift
Reads the base image's advertised PYTHON_VERSION (config env, no layer
download) and fails the build when it doesn't match --python, so a base tag
that slides to a new Python version can't silently produce a broken image.
Documents base-pinning tradeoffs in the README. Adds unit + CLI tests.

Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 16:02:33 +00:00
Cursor Agent
c15f3e350c
cli: build multi-arch image index from multiple --platform values
- --platform is now repeatable/comma-separated; >1 platform builds one image
  per platform and assembles them into an OCI image index (remote.WriteIndex /
  OCI layout). SBOM aggregates wheels across platforms.
- adds TestBuildMultiArchIndex (2-platform index, reproducible) against an
  in-process registry; documents multi-arch in the README

Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 15:45:36 +00:00
Cursor Agent
f83222fbd9
cli: reject empty env/label key; testwheel: deterministic map iteration
Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 14:35:37 +00:00
Cursor Agent
5830434434
build/cli: layer cache + parallel wheel layers, secret deny-list, env validation, docs
- add internal/cache content-addressed layer store; build per-wheel layers in
  parallel and reuse cached compressed blobs across rebuilds (--cache-dir)
- thread platform/python target into wheel resolution; validate --env
- add common secret patterns to the default source ignore list
- README: copy/paste-safe usage example + new flags; DESIGN status updated

Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 14:07:25 +00:00
Cursor Agent
1f2fd93117
Rename py-image-builder to pymage (module, imports, CLI, workflow, docs)
Co-authored-by: Jason Hall <imjasonh@users.noreply.github.com>
2026-06-10 13:30:05 +00:00
Renamed from py-image-builder/internal/cli/cli.go (Browse further)