* fix(interop): use standaloneTransports as string instead of param
When generating the test specification (docker-compose file) we enumerate all
transport permutations. While some of our transports need to be upgraded (e.g.
TCP and WS) some don't (e.g. QUIC or WebRTC). To differentiate the two we
execute two SQL queries (`queryResults` and `standaloneTransportsQueryResults`),
each with either a `AND _ NOT IN` or `AND _ IN`.
The previous implementation would use `node-sqlite3` query parameters (see
https://github.com/TryGhost/node-sqlite3/wiki/API#runsql--param---callback) to
provide the list of transport protocols that don't need upgrading as an array.
The problem is that `node-sqlite3` does not support arrays as query parameters,
see https://github.com/TryGhost/node-sqlite3/issues/762.
This commit uses string interpolation instead to inject the list of standalone
transports into the SQL queries.
* Nit
---------
Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
* Revert "Revert "Add zig-libp2p to interop tester (#167)" (#170)"
This reverts commit 3856de32fc.
* Print CPU info during make of zig-libp2p
* Show stdout output
* Use image id from json file
* Update zig-libp2p to log why a connection was shutdown
* Update zig to play nice with rust mss
This commit disables the WebRTC tests for rust-libp2p v0.50.0 and v0.51.0 and
chromium-js v0.41.0 and v0.42.0. Neither of these support the new
`/webrtc-direct` (see
https://github.com/multiformats/multiaddr/pull/150/#issuecomment-1468791586 for
context on rename).
The missing support is blocking https://github.com/libp2p/rust-libp2p/pull/3688
namely to upgrade to using `/webrtc-direct`. (Note that this is only blocking
CI. Users can already use `/webrtc-direct` with the latest released
rust-libp2p.)
We will backport `/webrtc-direct` support to the rust-libp2p `v0.51.0` interop
binary and then re-enable it here.
Instead of disabling the versions with missing support for `/webrtc-direct` we
could as well patch our interoperability test logic. For the sake of simplicity,
I am proposing simply disabling the versions for now.
* Update Go test implementations to match new spec
* Update JS test implementation
* Update Rust test Implementation
* Update root Makefile
* Update runner to new spec
* Use composite action and S3 caching
* Not using GHA cache anymore
* Try removing access key from env
* Test workflow without cache keys (#131)
* Test if it works without s3 cache keys
* Fix if statement
* Fix if statement
* Always use buildkit
* Undo debug change
* Add no cache workflow
* Skip test in no-cache workflow
* Update .github/workflows/no-cache-multidim-interop.yml
* Same workflow; use CACHING_OPTIONS
* Add Browser WebRTC test (#130)
* Add webrtc to JS test
* Add onlyDial to all queries
* Update versions.ts
* Remove unneeded timeout overrides
* Browser testing with aegir
* Support onlyDial
* Bump timeout for browser tests
* Support webtransport browser test
* PR comments
* Tweak
* Handle cases where the listener exits before dialer
* Remove debug code
* Bump node version
* Prewarm with playwright install
* Support extra timeouts when running against node or browser
* Add timeout option to rust and js
* update interop rust test lib to use tokio
to allow us add the WebRTC transport test (which is only available with
the tokio runtime)
Clean up the test and update Cargo.toml to 0.2.0 to avoid conflicting with the older tests, and allow us to import lib.rs
on the rust-libp2p repo and have the master tests there.
* simplify build_builder function
* replace deprecated ping keepalive
with KeepAlive Behaviour
* add WebRTC support for rust tests
* add webrtc support on interop generator.
* fix typo on generators.ts
webrtc instead of webtransport.
* update rust test plans to use enums instead.
* update rust tests enum to match the ones by generator.ts
* fix webrtc testcases to have proper security and muxer.
* review: address suggestions:
- undo generator changes, let's do that later on
- don't parse muxer and sec protocol where we don't need it
* ident generator.ts.
* Add fast multidimensional interop tests
* Remove generated files
* Remove debug code around itnerfaces
* Revert changes to setup testground
* multidim-interop: update rust v050 test
for multidim-interop with redis
* Add depends on and enable rust version for testing
* Cleanup Rust test
* Have listener print multiaddr in go v024 test
* Remove EXPOSE in dockerfile
* Update multidim-interop/go/v0.24/main.go
Co-authored-by: João Oliveira <hello@jxs.pt>
* Update multidim-interop/go/v0.22/main.go
Co-authored-by: João Oliveira <hello@jxs.pt>
* Update multidim-interop/go/v0.23/main.go
Co-authored-by: João Oliveira <hello@jxs.pt>
* Go nits
* Cleanup Rust makefile
* add working ping test (js) or multidim-interop (#98)
* add working ping test (js) or multidim-interop
* Add JS-libp2p to interop tests
* ping libp2p-js (wo): resolve PR comments
* Add yamux js-libp2p test
Co-authored-by: Marco Munizaga <git@marcopolo.io>
* Fix Go err
* Ignore errors when shutting down
* Fix err
* Rename workflow
* Remove rust v0.49
* Bump up timeouts
Co-authored-by: João Oliveira <hello@jxs.pt>
Co-authored-by: Glen De Cauwsemaecker <contact@glendc.com>