feat(nix/docker)Cli docker image size reduce#2019
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the
✨ Finishing touches🧪 Generate unit tests (beta)
Tip 🧪 Unit Test Generation v2 is now available!We have significantly improved our unit test generation capabilities. To enable: Add this to your reviews:
finishing_touches:
unit_tests:
enabled: trueTry it out by using the Have feedback? Share your thoughts on our Discord thread! Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
2cba010 to
48643e8
Compare
48643e8 to
e5b6d9e
Compare
b3bd5fd to
5b20cac
Compare
|
Smoke test results Details |
4b83c22 to
53caf27
Compare
53caf27 to
eba58c1
Compare
|
passed smoke tests, and cli image tests merging now |
Add latestOnly parameter that flows through makeOurPostgresPkgs, makePostgresBin, and makePostgres functions. When true, this parameter will enable building only the latest version of each extension. Also adds psql_17_slim package that uses latestOnly=true. feat(ext): add latestOnly support to pgvector feat(ext): add latestOnly support to wrappers Add latestOnly parameter to wrappers extension that: - Filters versionsToUse when latestOnly=true to build only latest version - Skips migration SQL file generation when latestOnly=true - Skips previously packaged version symlinks when latestOnly=true - Updates library count verification for slim builds (expects 2 files) - Updates passthru metadata with versionsBuilt and latestOnly flag This is part of the psql_17_slim implementation to reduce image size. feat(ext): add latestOnly support to pg_graphql feat(ext): add latestOnly support to pg_net
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…if change in inputs
fix: docker image test fix: resolve merge conflicts
1082710 to
874358d
Compare
* feat(nix): add latestOnly parameter support to postgres.nix Add latestOnly parameter that flows through makeOurPostgresPkgs, makePostgresBin, and makePostgres functions. When true, this parameter will enable building only the latest version of each extension. Also adds psql_17_slim package that uses latestOnly=true. feat(ext): add latestOnly support to pgvector feat(ext): add latestOnly support to wrappers Add latestOnly parameter to wrappers extension that: - Filters versionsToUse when latestOnly=true to build only latest version - Skips migration SQL file generation when latestOnly=true - Skips previously packaged version symlinks when latestOnly=true - Updates library count verification for slim builds (expects 2 files) - Updates passthru metadata with versionsBuilt and latestOnly flag This is part of the psql_17_slim implementation to reduce image size. feat(ext): add latestOnly support to pg_graphql feat(ext): add latestOnly support to pg_net * feat: variant of pkgs for image size reduce * fix: deal with systemd in slim vs regular * feat: slimmed image with tests and image analysis tool * tests: workflow to check image size and test images with pg_regress * fix: running docker test ci * fix: running apps fix * fix: pg_isready in proper place * docs: add pg-startup-profiler design document Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs: add pg-startup-profiler implementation plan Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(pg-startup-profiler): scaffold project structure Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(pg-startup-profiler): add pluggable rules system Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(pg-startup-profiler): add Docker client wrapper Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(pg-startup-profiler): add log parser Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: docker startup profiler * cli smoke test, nix package to trigger test runs * feat: shared action use nix derivation to check changes and run test if change in inputs * feat: local and ci cli-smoke and image tests * chore: test suffix * fix: use http_mock_host * fix: match develop branch on these changes fix: docker image test fix: resolve merge conflicts --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Expected Impact
Refactors Docker image testing and CLI smoke testing into reusable Nix packages that work both locally and in CI, while consolidating duplicated workflow logic.
Changes
New Nix Packages:
New Shared GitHub Action:
Updated Workflows:
Added to Nix Checks:
Usage
Run Docker image tests locally
nix run .#docker-image-test -- Dockerfile-17
nix run .#docker-image-test -- --no-build Dockerfile-15
Run CLI smoke tests locally
nix run .#cli-smoke-test -- 17
nix run .#cli-smoke-test -- --no-build 15
Benefits