Add ArchGitChecksum template command in bashbrew cat#89
Merged
tianon merged 2 commits intodocker-library:masterfrom Jan 12, 2024
Merged
Add ArchGitChecksum template command in bashbrew cat#89tianon merged 2 commits intodocker-library:masterfrom
ArchGitChecksum template command in bashbrew cat#89tianon merged 2 commits intodocker-library:masterfrom
Conversation
0bb9ced to
9705f8f
Compare
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #89 +/- ##
==========================================
+ Coverage 73.10% 75.21% +2.10%
==========================================
Files 7 8 +1
Lines 714 920 +206
==========================================
+ Hits 522 692 +170
- Misses 162 173 +11
- Partials 30 55 +25 ☔ View full report in Codecov by Sentry. |
9705f8f to
8fbedb3
Compare
Member
Author
|
With that latest push, we have a net increase in overall code coverage (and it successfully limits our coverage gaps in the new code to just the error handling blocks, which are inherently difficult to test because they typically involve convincing other libraries/code to return errors). |
39d42ec to
6a201d6
Compare
This also finally adds `bashbrew context` as an explicit subcommand so that issues with this code are easier to test/debug (so we can generate the actual tarball and compare it to previous versions of it, versions generated by `git archive`, etc). As-is, this currently generates verbatim identical checksums to https://github.com/docker-library/meta-scripts/blob/0cde8de57dfe411ed5578feffe1b10f811e11dc2/sources.sh#L90-L96 (by design). We'll wait to do any cache bust there until we implement `Dockerfile`/context filtering: ```console $ bashbrew cat varnish:stable --format '{{ .TagEntry.GitCommit }} {{ .TagEntry.Directory }}' 0c295b528f28a98650fb2580eab6d34b30b165c4 stable/debian $ git -C "$BASHBREW_CACHE/git" archive 0c295b528f28a98650fb2580eab6d34b30b165c4:stable/debian/ | ./tar-scrubber | sha256sum 3aef5ac859b23d65dfe5e9f2a47750e9a32852222829cfba762a870c1473fad6 $ bashbrew cat --format '{{ .ArchGitChecksum arch .TagEntry }}' varnish:stable 3aef5ac859b23d65dfe5e9f2a47750e9a32852222829cfba762a870c1473fad6 ``` (Choosing `varnish:stable` there because it currently has [some 100% valid dangling symlinks](https://github.com/varnish/docker-varnish/tree/6b1c6ffedcfececac71e46a85122c1adaef25868/stable/debian/scripts) that tripped up my code beautifully 💕) From a performance perspective (which was the original reason for looking into / implementing this), running the `meta-scripts/sources.sh` script against `--all` vs this, my local system gets ~18.5m vs ~4.5m (faster being this new pure-Go implementation).
6a201d6 to
795ff4b
Compare
yosifkit
approved these changes
Jan 12, 2024
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.
This also finally adds
bashbrew contextas an explicit subcommand so that issues with this code are easier to test/debug (so we can generate the actual tarball and compare it to previous versions of it, versions generated bygit archive, etc).As-is, this currently generates verbatim identical checksums to https://github.com/docker-library/meta-scripts/blob/0cde8de57dfe411ed5578feffe1b10f811e11dc2/sources.sh#L90-L96 (by design). We'll wait to do any cache bust there until we implement
Dockerfile/context filtering:(Choosing
varnish:stablethere because it currently has some 100% valid dangling symlinks that tripped up my code beautifully 💕)From a performance perspective (which was the original reason for looking into / implementing this), running the
meta-scripts/sources.shscript against--allvs this, my local system gets ~18.5m vs ~4.5m (faster being this new pure-Go implementation).