Commit Graph

48 Commits

Author SHA1 Message Date
Marco Munizaga 81e78aed34
multidim-interop: Add name ignore option (#225)
* Add name ignore option

* Update multidim-interop/testplans.ts

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-07-10 16:49:46 -07:00
Marco Munizaga d21d042ddd
Install playwright in the base image so it is cached (#226) 2023-07-07 21:15:16 -07:00
Max Inden ce83afc1b0
feat(interop): add rust-libp2p chromium WASM WebTransport (#217)
Introduced in rust-libp2p with https://github.com/libp2p/rust-libp2p/pull/4015.
2023-07-07 14:37:57 +02:00
Max Inden 465065cff8
fix(interop): use standaloneTransports as string instead of param (#219)
* 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>
2023-07-05 16:57:30 -07:00
Marco Munizaga ec32d36cab
Add debug logging if JSON parse fails (#223) 2023-07-05 18:59:03 +00:00
Marco Munizaga a4e5381432
Remove often wrong patch version from id (#211) 2023-06-30 12:11:10 -07:00
Marco Munizaga 95f1277fed
Squash queries down to just 2 (#210) 2023-06-29 15:16:32 -07:00
Marco Munizaga fd719f534e
Less error-prone way of defining image IDs and other quality of life improvements (#208)
* Make canonicalImageIDLookup default

* Fix browser containerImageID
2023-06-29 12:52:13 -07:00
Max Inden 81b6e7c370
feat(interop): add rust-libp2p v0.52 (#206)
See https://github.com/libp2p/rust-libp2p/releases/tag/libp2p-v0.52.0

Co-authored-by: Marco Munizaga <git@marcopolo.io>
2023-06-26 10:33:06 +02:00
kevodwyer 248cf9962c
fix(java-libp2p): update test client with resource fix (#200) 2023-06-20 14:20:17 +02:00
kevodwyer 112e2efe20
add Java to interop tests (#197)
* add Nabu (Java) to interop tests

* naming fix

* missed a reference

* update build commit

* update build commit

* update git hash

* add to gitignore
2023-06-16 14:14:47 -07:00
Prithvi Shahi f828ee216b
chore: add go-libp2p 0.28.0 and update to v0.27.6 (#192) 2023-06-13 11:33:32 -07:00
Marco Munizaga 06a82c0d95
Reintroduce js-libp2p v0.45.0 and fix build from cache (#189)
* Add js-libp2p v0.45.0

* Name the image before creating browser images

* Update commit sha to test webrtc

* Enable webrtc & webrtc-direct tests
2023-06-08 14:56:17 -07:00
Marco Munizaga fb9bb6a690
Don't include muxer and secure channel for webrtc (#190)
* Don't include muxer and secure channel for webrtc

* Also filter out webrtc
2023-06-02 18:34:28 -07:00
Marco Munizaga 22f37a0e93
Revert "Add js-libp2p v0.45.0 (#187)" (#188)
This reverts commit e9f4962362.
2023-06-02 09:21:20 -07:00
Marco Munizaga e9f4962362
Add js-libp2p v0.45.0 (#187) 2023-06-02 08:43:54 -07:00
Chad Nehemiah 633ff35ba4
docs: update readme for instructions on running locally (#182)
* docs: update readme for instructions on running locally

* docs: update readme for instructions on running locally

* docs: pr feedback
2023-05-19 12:39:08 -07:00
Thomas Eizinger f1acc202eb
Update Rust tests to use smaller docker container (#181) 2023-05-16 08:01:28 -07:00
Max Inden a2235a0d55
feat(interop): add js-libp2p v0.44 (#171)
Copy of `multidim-interop/impl/js/v0.42` plus version adjustments + reenable
WebRTC (see https://github.com/libp2p/test-plans/pull/160).
2023-05-05 08:44:42 +02:00
Prithvi Shahi a1edfe231e
chore: Add go-libp2p v0.27.1 and v0.26.4, update zig-libp2p (#177)
* chore: Add go-libp2p v0.27.1 and v0.26.4

* update zig
2023-05-04 15:10:16 -07:00
Marco Munizaga 103b2a3847
Update zig-libp2p to latest head to fix a flaky segfault (#175) 2023-05-03 11:20:49 -07:00
Marco Munizaga df742523d4
Bring back zig-libp2p (#174)
* Revert "Revert "Bring back zig-libp2p (#172)" (#173)"

This reverts commit e4e9f985f7.

* Update zig-libp2p
2023-05-01 13:46:27 -07:00
Marco Munizaga e4e9f985f7
Revert "Bring back zig-libp2p (#172)" (#173)
This reverts commit f0c82d3d81.
2023-05-01 10:22:25 -07:00
Marco Munizaga f0c82d3d81
Bring back zig-libp2p (#172)
* 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
2023-05-01 09:04:44 -07:00
Marco Munizaga 3856de32fc
Revert "Add zig-libp2p to interop tester (#167)" (#170) 2023-04-20 08:33:21 +02:00
Max Inden e07ffabbe8
fix(interop): rename `webrtc` to `webrtc-direct` (#166)
See https://github.com/multiformats/multiaddr/pull/150#issuecomment-1468791586
for context on discussion.

- Renames the `webrtc` transport identifier to `webrtc-direct`.
- Re-enables `webrtc-direct` support for rust-libp2p v0.51. Previously disabled
  in https://github.com/libp2p/test-plans/pull/160. See
  https://github.com/libp2p/rust-libp2p/pull/3781 for corresponding change on
  the rust-libp2p side.
- Leaves JS v0.41 and v0.42 untouched. To be done in a follow-up alongside JS
  dependency updates.
2023-04-19 13:48:07 +02:00
Marco Munizaga d61600ccd2
Add zig-libp2p to interop tester (#167)
* Add zig-libp2p to interop tester

* Fix typo
2023-04-15 17:44:38 +02:00
Marco Munizaga 23fdcef9be
Cache images slightly differently (#165) 2023-04-11 11:29:32 -07:00
Marco Munizaga c30c1c429f
Sanitize name before saving to compose file (#164) 2023-04-08 12:31:25 -07:00
Marco Munizaga d342ac541e
Fix: Correctly abort process on timeout (#162)
* Pass in abort controller signal

* Rearrange
2023-04-08 10:53:38 -07:00
Max Inden 134a8735d5
fix(versions): disable webrtc tests (#160)
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.
2023-04-04 13:10:30 +02:00
Marco Munizaga 54d19f56a4
Add go-libp2p v0.26 (#151) 2023-03-09 16:58:16 -08:00
Max Inden 9bb9d2f933
feat(rust): Add v0.51 (#148)
With the latest rust-libp2p
[v0.51.0](https://github.com/libp2p/rust-libp2p/releases/tag/v0.51.0) release,
one can now test the `v0.51` family in the interop tests.
2023-03-07 07:46:19 -08:00
Marco Munizaga 1318080e01
Browser WSS testing (#144)
* Update playwright test

* Update multiaddr

* WIP: websocket testing in browser

* Add v0.42 test

* node-image.json

* Revert js v0.41 changes

* Update versions.ts
2023-03-06 17:47:40 -08:00
Marco Munizaga ad7d37d6f9
Switch to redis:7-alpine (#146) 2023-02-24 15:39:08 -08:00
Marco Munizaga 10794acd49
Add .gitignore for nim (#145) 2023-02-24 15:09:26 -08:00
Marco Munizaga 29daa4876a
Fix image references (#143) 2023-02-24 12:46:39 -08:00
Marco Munizaga 9ac5af38bf
Add backported Rust versions (#134)
* Add backported Rust versions

* Update v0.48 to merge backport commit

* Reference backport commit

* Reference backport commit for v049

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-02-17 14:47:03 -08:00
Marco Munizaga ed99eadf82
Add key to table (#140)
* Add key to table

* Update multidim-interop/src/lib.ts

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-02-17 14:46:06 -08:00
Tanguy 80d78c81f7
Nim interop support (#138) 2023-02-17 09:37:26 -08:00
Marco Munizaga b7285c0a3a
Add go-libp2p v0.25.1 (#133) 2023-02-13 09:51:45 -08:00
Marco Munizaga 3b6d87b532
Update Go & JS tests to conform to the multidim interop test spec. (#121)
* 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
2023-02-10 17:00:53 -08:00
Thomas Eizinger c9130e425d
Introduce composite action for running ping interop tests (#123)
Co-authored-by: Marco Munizaga <git@marcopolo.io>
2023-02-02 10:17:22 +11:00
Marco Munizaga 53adabae00
Add multidim-interop test spec (#117)
* Add test spec

* PR comments

* PR comments
2023-01-30 16:26:27 -08:00
Marco Munizaga 438b689cfa
Use aegir for testing js-libp2p (#104)
* 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
2023-01-24 09:52:44 -08:00
João Oliveira b0f3a2d2ae
Add webrtc transport multidim interop (#100)
* 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.
2023-01-18 11:56:09 +00:00
Marco Munizaga 23ff0db5b5
Support other repos using the multidim interop tests (#99)
* Support running interop workflow from other repos

* A bit of shuffling and cleanup
2023-01-13 10:23:58 -08:00
Marco Munizaga c35de22070
Add fast multidimensional interop tests (#97)
* 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>
2023-01-10 14:26:27 -08:00