ci: Add CI step for webrtc compatibility with libp2p-go#628
Conversation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
| } | ||
| trap cleanup EXIT | ||
|
|
||
| # Wait for the server to advertise its /webrtc-direct/certhash address |
There was a problem hiding this comment.
I wonder if this is necessary, litep2p takes the cert from the outside right? Could we generate a known certificate and have it being known? Then we would not need to parse the hash here. But only a nit, can be follow up or accept status-quo
There was a problem hiding this comment.
Yep makes sense, the certhash and peerID are already statically generated from the --node-secret 🙏 Have updated thanks!
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
lrubasze
left a comment
There was a problem hiding this comment.
PR already merged, but left some minor comments anyway.
| env: | ||
| # Performance harness that contains the litep2p server and go-libp2p client. | ||
| PERF_REPO: https://github.com/lexnv/litep2p-perf | ||
| PERF_REF: master |
There was a problem hiding this comment.
Should we pin some revision here to not break this CI in case master breaks?
| # Drive the server with the go-libp2p client. A non-zero exit (failed | ||
| # dial, handshake, or transfer) propagates through `tee` via pipefail | ||
| # and fails this step. The client log is streamed live and saved. | ||
| ( cd libp2p-go && go mod download && timeout 120 go run . \ |
There was a problem hiding this comment.
Minor.
Not sure how long does it take to build libp2p-go.
But maybe we could build it outside this 120s timeout and use the timeout purely for running the client?
| # server-listenable transport as `/webrtc-direct` (multiaddr code 280). | ||
| SERVER_LISTEN_ADDR: /ip4/127.0.0.1/udp/33333/webrtc-direct | ||
| # Starting the server with `--node-key secret` makes its identity fully | ||
| # deterministic. Both vaulues are therefore stable across runs. |
This PR adds a new CI step to check the compatibility of webrtc implementation with libp2p-go client from litep2p-perf: https://github.com/lexnv/litep2p-perf.
The CI step: