* 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