Skip to content

feat(js_image_layer): add external compressor passthrough#2898

Open
alexeagle wants to merge 1 commit into
aspect-build:mainfrom
alexeagle:js-image-layer-compressor
Open

feat(js_image_layer): add external compressor passthrough#2898
alexeagle wants to merge 1 commit into
aspect-build:mainfrom
alexeagle:js-image-layer-compressor

Conversation

@alexeagle

Copy link
Copy Markdown
Contributor

Add compressor/compressor_args attributes to the js_image_layer rule, mirroring the tar rule from bazel-contrib/tar.bzl. When set, layers are compressed by an external program (e.g. @pigz for parallel gzip) via bsdtar's --use-compress-program instead of bsdtar's single-threaded built-in compressor.

compression still selects the output file extension; compressor only swaps the program. No behavior change unless compressor is set.


Changes are visible to end-users: yes/no

  • Searched for relevant documentation and updated as needed: yes/no
  • Breaking change (forces users to change their own code or config): yes/no
  • Suggested release notes appear below: yes/no

Test plan

  • Covered by existing test cases
  • New test cases added
  • Manual testing; please provide instructions so we can reproduce:

Add `compressor`/`compressor_args` attributes to the `js_image_layer`
rule, mirroring the `tar` rule from bazel-contrib/tar.bzl. When set,
layers are compressed by an external program (e.g. `@pigz` for parallel
gzip) via bsdtar's `--use-compress-program` instead of bsdtar's
single-threaded built-in compressor.

`compression` still selects the output file extension; `compressor` only
swaps the program. No behavior change unless `compressor` is set.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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