Repository navigation
Conversation
Assisted-by: Replit
Keep the existing output name and provenance. Fix fixture mode and timestamp checks. Assisted-by: Replit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Prebuild the bundle filesystem so image unpacking does not need to construct it from a tar stream. Use zstd for transport compression.
What changed
bundle-ocioutput to oneapplication/vnd.oci.image.layer.v1.erofs+zstdlayer. Keep the output name, full revision provenance and copy helper unchanged.Test plan
Passed on the final tree:
nix build .#bundle-oci-check --no-linkscripts/ci_check.sh, including repository-wide formatting, module evaluation and the fixture buildThe fixture verifies the custom media type, layer annotations, manifest digest and every blob survive Skopeo copying. It checks raw and compressed digests, actual plain EROFS inode layout, filesystem extraction, hardlinks and fixed ownership. Extended attributes are tested through a PAX fixture because the build sandbox filesystem does not support them.
The first draft CI failed on a fixture mode assertion: Nix normalizes executable store files. The fixture now compares the actual source mode. Timestamp reproducibility also explicitly clears
SOURCE_DATE_EPOCHbefore applying fixed filesystem times. Local final-tree checks pass. Full cold-start performance is not qualified: correctness checks do not establish compliance with the startup budget.Rollout
This PR remains draft. Do not publish or roll out this format until end-to-end startup meets the required time limit under the target resource constraints.
This changes the existing output format and is not compatible with consumers that only support tar+gzip layers. Deploy consumer support for the new media type before publishing images from this output. No images are published or deployed by this PR. Reverting this producer restores the previous format; consumers must retain support for any new-format images already published.
~ written by ⠕ Replit