js-kubo-rpc-client icon indicating copy to clipboard operation
js-kubo-rpc-client copied to clipboard

Automation to detect new Kubo commands

Open lidel opened this issue 3 years ago • 0 comments

This client library's repo should proactively detect when a new Kubo release introduces a new RPC command.

Example: /api/v0/repo/ls was introduced in https://github.com/ipfs/kubo/pull/9320 As a bare minimum, an issue should be opened in this repo when Kubo 0.17 ships and this library does not support repo.ls.

Implementation tips

  • DETECTING NEW COMMANDS
    • /api/v0/commands / ipfs commands --enc=json is a way to output all commands supported by Kubo build.
    • CI job should read commands, skip ignored ones, and error if there are any new commands that are not implemented by this client library
  • IGNORE LIST
    • kubo-rpc-client library should have a list of ignored commands that we can't or don't plan to implement
    • e.g., /api/v0/shutdown, /api/v0/key/rotate, any missing things from https://docs.ipfs.tech/reference/kubo/rpc/#deprecated-rpc-commands should be marked as things we dont plan to implement (allowing us to focus on truly useful commands)
  • DETECTING NEW KUBO RELEASE
    • there is prior art in https://github.com/ipfs/ipfs-docs/blob/main/.github/workflows/update-on-new-ipfs-tag.yml
    • CI there detects a new Kubo release and creates a PR with regenerated docs
    • here, opening an issue with "needs/triage" label is a good starting point

lidel avatar Oct 14 '22 12:10 lidel