-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[tracking issue] Interop test-plans for all existing/developing libp2p transports #61
Comments
I don't have permission to edit this issue, but I believe it was suggested that we add #82 as a task here. |
In regards to js-libp2p (node/browser) #74, as in accordance with @laurentsenta we agreed on the following approach moving forward:
It might make sense to first aim for (1-3) using the latest release of libp2p-js, and do (4) in a secondary PR. |
Thanks for the update @GlenDC . I like the plan to do this incrementally. Can 1&2 be the first PR (just using node), then do 3, then do 4? |
Hi @BigLep. The goal is definitely to do it incrementally, however given we already the browser+node support in testground thanks to the fact that we start from https://github.com/testground/testground/tree/master/plans/example-browser-node, the plan that we created as an example of how to test plans without modification in both a node and browser environment. For now we have to copy from the plan, but thanks to real-world use cases such as this libp2p-js one, we gather insights on all the requirements and catcha's. Based on that knowledge it will be turned into something thats built-in support. For the time being we will however need to copy the example as a base, which is what I did already in my draft PR (unfinished for now) and which is why the diff is so big. But in reality the things that are unique to this PR are only the testplan found in the As such my proposed steps are:
Step (1), (2) and (3) are planned by me to be all done in the first PR, which I aim to have ready next week for review. Given that all dev effort goes into (1), it should be ok. To keep things simple this will all be done using the same libp2p-node config (construction) and it will be all done using he latest npm version of libp2p-js. In a second PR (once the currently discussed PR is approved and merged) I then plan to work on step (4):
In that same (second) PR or a different PR we can also look into allowing tests to be run using different configurations. E.g. also support WebRTC / TCP transports, etc... But not sure what the requirements there are. That would essentially be a step (5). |
@GlenDC @MarcoPolo: |
@p-shahi I could and will do with pleasure. Here are my proposed next steps:
|
Thanks @GlenDC your plan sgtm.
Yep
Great idea here. We definitely want those in test-plans. |
That sounds good @jxs thank you! |
If this sounds good to Marco, |
With some guidance @p-shahi , sure. To be done after my current PR in progress, or after everything else we already discussed? |
yeah no worries @p-shahi I will look into it 👍 |
Sounds good. If folks need any help with getting the GitHub actions integration working lmk. I’ve already spent a fair bit of time to get this working. |
Part of the libp2p/test-plans roadmap: https://github.com/libp2p/test-plans/blob/master/ROADMAP.md#2-interop-test-plans-for-all-existingdeveloping-libp2p-transports
Done Criteria
Using tooling from #53
go-libp2p
,rust-libp2p
, andjs-libp2p
that should be interoperable have test-plans (i.e. transports (TCP, QUIC, WebRTC, WebTransport), multiplexers (mplex, yamux), secure channels (TLS, Noise), etc.) across versions.libp2p/test-plans
CI and before releasing a version of go-libp2p, rust-libp2p, and js-libp2p (GitHub workflow added so that these suites run against themaster
branch on a nightly basis (updating the status check.))Tasks
WebTransport: (link to PR)(this is not supported in node right now)WebRTC: (link to PR)(not supported in node)The text was updated successfully, but these errors were encountered: