Repository navigation
fix(registry): stop serving empty transactional-email, gate empty plugins (D-1458, D-0515, D-0145) - #474
Merged
Conversation
…gate empty plugins (D-1458) Drop the transactional-email row from releases.json and regenerate registry.json, catalog.json and counts.json with scripts/plugin-counts.sh. Add a registry gate that fails when an entry carries a tarball for a plugin whose directory holds only manifest and docs; the seven other planned plugins are listed as a shrink-only baseline.
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.
D-1458 (fixed)
transactional-emailhas only plugin.json, README.md and SPEC.md infree/, yet registry.json served a signed tarball for it.releases.json(the generator leaves an entry with no release row out of the registry) and regeneratedregistry.json,catalog.json,counts.jsonwithscripts/plugin-counts.sh. The diff is that one entry plus counts (free entries 131 to 130; advertised stays 168).scripts/ci/tests/test_registry_empty_plugins.py(picked up by the hygieneunittest discover). It fails when an entry carries a tarball for a plugin directory holding only manifest and docs. It fails on origin/main (['transactional-email']) and passes here.EMPTY_SERVEDbaseline in the test.scripts/verify-published-checksums.sh --writewill re-add a row for a planned plugin whose tarball is on a release. The new gate turns that regeneration red instead of silently re-serving it.D-0515 (already fixed, no change)
No
v1.2.7reference remains in registry.json, catalog.json or releases.json. ci, functions, plugin-dev and traefik point atreleases/download/v1.2.13/<name>-1.2.13.tar.gz; those assets exist on release v1.2.13 and each registry checksum equals the published.sha256asset.D-0145 (already fixed, no change)
Fixed by #236 (D-0776). No
proxy_passor upstreamserverinfree/*/nginxtargets loopback or*.localhost(the.localhosthits areserver_namevhosts).test_plugin_nginx_upstreams.pyenforces it and passes.Commands run
python3 -m unittest discover -s scripts/ci/tests: 81 tests OKscripts/plugin-counts.sh --checkand--check --free-only: currentpython3 -m unittest ... -p test_registry_empty_plugins.pyagainst origin/main's registry.json: 1 failure; against the regenerated one: OKgh release download v1.2.13 -p <name>-1.2.13.tar.gz.sha256vs registry checksums for the four plugins: match