Skip to content

feat(registry): generalize source model for non-github distributions#55

Open
ian-pascoe wants to merge 2 commits intomainfrom
feat/spi-72-generalize-sources
Open

feat(registry): generalize source model for non-github distributions#55
ian-pascoe wants to merge 2 commits intomainfrom
feat/spi-72-generalize-sources

Conversation

@ian-pascoe
Copy link
Copy Markdown
Contributor

Summary

  • replace provider-only branching with composed release/checksum/asset source strategies
  • migrate representative GitHub (README.md
    logs/
    packages/
    packages/bat.toml
    packages/bat.toml.sig
    packages/beekeeper-studio.toml
    packages/beekeeper-studio.toml.sig
    packages/bruno.toml
    packages/bruno.toml.sig
    packages/crosspack.toml
    packages/crosspack.toml.sig
    packages/dbeaver.toml
    packages/dbeaver.toml.sig
    packages/delta.toml
    packages/delta.toml.sig
    packages/fd.toml
    packages/fd.toml.sig
    packages/fzf.toml
    packages/fzf.toml.sig
    packages/gh.toml
    packages/gh.toml.sig
    packages/insomnia.toml
    packages/insomnia.toml.sig
    packages/jq.toml
    packages/jq.toml.sig
    packages/lazygit.toml
    packages/lazygit.toml.sig
    packages/neovide.toml
    packages/neovide.toml.sig
    packages/node.toml
    packages/redisinsight.toml
    packages/redisinsight.toml.sig
    packages/ripgrep.toml
    packages/ripgrep.toml.sig
    packages/starship.toml
    packages/starship.toml.sig
    packages/uv.toml
    packages/uv.toml.sig
    registry/
    registry/sources/
    registry/sources/bat.toml
    registry/sources/beekeeper-studio.toml
    registry/sources/bruno.toml
    registry/sources/crosspack.toml
    registry/sources/dbeaver.toml
    registry/sources/delta.toml
    registry/sources/fd.toml
    registry/sources/fzf.toml
    registry/sources/gh.toml
    registry/sources/insomnia.toml
    registry/sources/jq.toml
    registry/sources/lazygit.toml
    registry/sources/neovide.toml
    registry/sources/node.toml
    registry/sources/redisinsight.toml
    registry/sources/ripgrep.toml
    registry/sources/starship.toml
    registry/sources/uv.toml
    registry.pub
    releases/
    releases/bat/
    releases/bat/0.26.1.toml
    releases/bat/0.26.1.toml.sig
    releases/beekeeper-studio/
    releases/beekeeper-studio/5.5.7.toml
    releases/beekeeper-studio/5.5.7.toml.sig
    releases/beekeeper-studio/5.6.0.toml
    releases/beekeeper-studio/5.6.0.toml.sig
    releases/beekeeper-studio/5.6.2.toml
    releases/beekeeper-studio/5.6.2.toml.sig
    releases/bruno/
    releases/bruno/3.1.4.toml
    releases/bruno/3.1.4.toml.sig
    releases/crosspack/
    releases/crosspack/0.0.2.toml
    releases/crosspack/0.0.2.toml.sig
    releases/crosspack/0.0.3.toml
    releases/crosspack/0.0.3.toml.sig
    releases/crosspack/0.0.4.toml
    releases/crosspack/0.0.4.toml.sig
    releases/crosspack/0.10.0.toml
    releases/crosspack/0.10.0.toml.sig
    releases/crosspack/0.10.1.toml
    releases/crosspack/0.10.1.toml.sig
    releases/crosspack/0.10.2.toml
    releases/crosspack/0.10.2.toml.sig
    releases/crosspack/0.10.3.toml
    releases/crosspack/0.10.3.toml.sig
    releases/crosspack/0.3.1.toml
    releases/crosspack/0.3.1.toml.sig
    releases/crosspack/0.4.0.toml
    releases/crosspack/0.4.0.toml.sig
    releases/crosspack/0.4.1.toml
    releases/crosspack/0.4.1.toml.sig
    releases/crosspack/0.5.0.toml
    releases/crosspack/0.5.0.toml.sig
    releases/crosspack/0.6.0.toml
    releases/crosspack/0.6.0.toml.sig
    releases/crosspack/0.7.0.toml
    releases/crosspack/0.7.0.toml.sig
    releases/crosspack/0.7.1.toml
    releases/crosspack/0.7.1.toml.sig
    releases/crosspack/0.7.3.toml
    releases/crosspack/0.7.3.toml.sig
    releases/crosspack/0.7.4.toml
    releases/crosspack/0.7.4.toml.sig
    releases/crosspack/0.7.5.toml
    releases/crosspack/0.7.5.toml.sig
    releases/crosspack/0.7.6.toml
    releases/crosspack/0.7.6.toml.sig
    releases/crosspack/0.7.7.toml
    releases/crosspack/0.7.7.toml.sig
    releases/crosspack/0.8.0.toml
    releases/crosspack/0.8.0.toml.sig
    releases/crosspack/0.8.1.toml
    releases/crosspack/0.8.1.toml.sig
    releases/crosspack/0.9.0.toml
    releases/crosspack/0.9.0.toml.sig
    releases/dbeaver/
    releases/dbeaver/25.3.5.toml
    releases/dbeaver/25.3.5.toml.sig
    releases/dbeaver/26.0.0.toml
    releases/dbeaver/26.0.0.toml.sig
    releases/delta/
    releases/delta/0.18.2.toml
    releases/delta/0.18.2.toml.sig
    releases/fd/
    releases/fd/10.3.0.toml
    releases/fd/10.3.0.toml.sig
    releases/fzf/
    releases/fzf/0.68.0.toml
    releases/fzf/0.68.0.toml.sig
    releases/fzf/0.70.0.toml
    releases/fzf/0.70.0.toml.sig
    releases/gh/
    releases/gh/2.87.3.toml
    releases/gh/2.87.3.toml.sig
    releases/gh/2.88.0.toml
    releases/gh/2.88.0.toml.sig
    releases/gh/2.88.1.toml
    releases/gh/2.88.1.toml.sig
    releases/insomnia/
    releases/insomnia/12.3.1.toml
    releases/insomnia/12.3.1.toml.sig
    releases/insomnia/12.4.0.toml
    releases/insomnia/12.4.0.toml.sig
    releases/jq/
    releases/jq/1.8.1.toml
    releases/jq/1.8.1.toml.sig
    releases/lazygit/
    releases/lazygit/0.59.0.toml
    releases/lazygit/0.59.0.toml.sig
    releases/lazygit/0.60.0.toml
    releases/lazygit/0.60.0.toml.sig
    releases/neovide/
    releases/neovide/0.15.2.toml
    releases/neovide/0.15.2.toml.sig
    releases/node/
    releases/node/22.22.2.toml
    releases/redisinsight/
    releases/redisinsight/3.2.0.toml
    releases/redisinsight/3.2.0.toml.sig
    releases/ripgrep/
    releases/ripgrep/15.1.0.toml
    releases/ripgrep/15.1.0.toml.sig
    releases/starship/
    releases/starship/1.24.2.toml
    releases/starship/1.24.2.toml.sig
    releases/uv/
    releases/uv/0.10.10.toml
    releases/uv/0.10.10.toml.sig
    releases/uv/0.10.11.toml
    releases/uv/0.10.11.toml.sig
    releases/uv/0.10.6.toml
    releases/uv/0.10.6.toml.sig
    releases/uv/0.10.7.toml
    releases/uv/0.10.7.toml.sig
    releases/uv/0.10.8.toml
    releases/uv/0.10.8.toml.sig
    releases/uv/0.10.9.toml
    releases/uv/0.10.9.toml.sig
    scripts/
    scripts/registry-changed-manifests.sh
    scripts/registry-generate-manifest.py
    scripts/registry-migrate-index-to-layout.py
    scripts/registry-preflight.sh
    scripts/registry-scaffold-entry.sh
    scripts/registry-smoke-install.py
    scripts/registry-validate-entry.py
    scripts/registry-validate-source.py
    scripts/registry-validate.py
    scripts/sign-changed-manifests.sh
    scripts/upstream-release-bot.py
    tests/
    tests/test_registry_generate_manifest.py
    tests/test_registry_scaffold.py
    tests/test_registry_smoke_install.py
    tests/test_registry_validate.py
    tests/test_registry_validate_source.py
    tests/test_sign_changed_manifests.py
    tests/test_upstream_release_bot.py) and Node dist-index () configs onto the generalized schema
  • update validation, manifest generation, release planning, tests, and README docs

Test Plan

  • python3 scripts/registry-validate-source.py registry/sources/fd.toml registry/sources/node.toml
  • python3 scripts/registry-validate.py --allow-missing-signatures packages/node.toml releases/node/22.22.2.toml
  • python3 -m unittest tests.test_registry_validate_source tests.test_registry_generate_manifest tests.test_upstream_release_bot -v

Closes #72

ian-pascoe and others added 2 commits April 2, 2026 09:45
- add node package/source/release manifests for v22.22.2
- teach registry tooling to support nodejs-dist sources
- add tests for nodejs dist generation and update planning

Co-Authored-By: Paperclip <noreply@paperclip.ing>
- compose release, checksum, and asset strategies under source tables
- support generalized validation, manifest generation, and update planning
- migrate representative github and node source configs to the new schema
- document the extension model and add regression coverage

Co-Authored-By: Paperclip <noreply@paperclip.ing>
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