Skip to content

chore(docker): gpgv alone, no pip, botocore trimmed, gha build cache - #7

Merged
jshvn merged 1 commit into
mainfrom
josh/slim-images
Sep 13, 2026
Merged

jshvn merged 1 commit into
mainfrom
josh/slim-images

Conversation

@jshvn

@jshvn jshvn commented Sep 13, 2026

Copy link
Copy Markdown
Member

What

  • rsync: gpgv replaces gnupg in the shipped stage. The engine only ever verifies; the fetch stage keeps full gpg for the AWS CLI signature.
  • proton: pip is uninstalled once the pinned packages are in, and botocore keeps only the s3 and sts models plus the data-root JSON, matching what rsync already does. The self-check asserts pip is gone and that a boto3 s3 client still constructs.
  • ci.yml / release.yml: builds go through buildx with type=gha cache, one scope per variant shared between the two workflows. A tag release now rebuilds only the layers the merge touched instead of both platforms from scratch under QEMU.
  • README variant table: gnupg -> gpgv.

Sizes, uncompressed: rsync 375 -> 370 MB, proton 492 -> 455 MB. The point of the gpgv and pip changes is surface, not size.

Test plan

  • task image-build && task run -- task tools && task check && task run -- task offline in examples/rsync and examples/proton, Apple container, arm64: all pass, render matches render.txt for both
  • ci.yml green on this PR (first run populates the cache; the second run of each variant should show cached layers)
  • After merge, tag v2.1.2; the release job should hit the cache populated by CI on main

After merge

Tag v2.1.2. Mirrors on rsync-v2 and proton-v2 pick it up on their next run.

rsync ships gpgv instead of the gnupg suite: the engine verifies and never
signs. proton uninstalls pip once the pins are in and keeps only the s3 and
sts botocore models, as rsync already does; the self-check proves both.
ci and release build through buildx with the Actions cache, one scope per
variant shared between them, so a tag rebuilds only the layers a merge
touched instead of both platforms from scratch under QEMU.

rsync 375 -> 370 MB, proton 492 -> 455 MB uncompressed.
@jshvn
jshvn merged commit 46abc9d into main Sep 13, 2026
2 checks passed
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