305 Commits

Author SHA1 Message Date
Prithvi Shahi
eeb4425242
chore: update readme and update references to Testground (#128) 2023-02-07 12:10:24 -08:00
github-actions[bot]
41777186d0 chore: update the link to the interop dashboard [skip ci] 2023-02-01 23:49:45 +00: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
github-actions[bot]
7fd08bfd80 chore: update the link to the interop dashboard [skip ci] 2023-01-31 00:31:26 +00: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
github-actions[bot]
5c19f0876f chore: update the link to the interop dashboard [skip ci] 2023-01-24 18:10:28 +00: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
github-actions[bot]
5d55d99de8 chore: update the link to the interop dashboard [skip ci] 2023-01-19 20:30:49 +00:00
Piotr Galar
988ecaa42f
feat: update README badge automatically (#108) 2023-01-19 12:18:11 -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
150c5ca618
feat: multidim-interop: Setup badge (#105) 2023-01-17 16:44:22 -08: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
Marco Munizaga
43d50c2500
Fix race in ping test case for Go (#93)
* Fix race condition in go ping

* Fix import

* Pass host in

* Pass host in

* Fix import

* Remove events in v0.11
2022-12-30 20:30:15 -08:00
Thomas Eizinger
34b6eaeffd
Bump Rust version of docker image to 1.65 (#90) 2022-12-14 20:14:51 +01:00
Tanguy
003eb91e2e
Nim ping test (#70)
* Nim ping test

* Working interop

* Add nim toml

* Add CI

* fix workflow name

* Delete go-rust specifics

* Update .github/workflows/ping-interop-latest.yml

Co-authored-by: Max Inden <mail@max-inden.de>

Co-authored-by: Max Inden <mail@max-inden.de>
2022-12-05 17:23:50 -08:00
Max Inden
a2d38ccbbe
fix(ping/rust): Use refs/heads/master and not branch and master (#81)
* fix(ping/rust): Use refs/heads/master and not branch and master

Follows suggestion in
https://github.com/libp2p/test-plans/pull/79#discussion_r1030425774.
2022-12-01 18:25:34 +01:00
Thomas Eizinger
0ea1553b2c
ping/rust: Add 0.50.0 as a release and fix deprecation warnings (#87) 2022-12-01 17:14:22 +01:00
Thomas Eizinger
31a128833d
feat(ping/rust): Add dummy main to allow for caching of built dependencies (#78) 2022-11-23 18:00:19 +01:00
João Oliveira
ddb2e4bad2
ping: update Rust versions 0.45.0 and 0.46.0, (#76)
to 0.45.1 and 0.46.1 respectively.
2022-11-23 15:49:54 +01:00
Max Inden
4f8297fd34
fix(ping/rust): Only specify branch when building master (#80) 2022-11-23 15:23:51 +01:00
Max Inden
da5bbf715a
fix(ping/rust): Don't set PR ref for master build (#79)
When building the `master` image we would previously mistakingly set the
ref to the PR commit hash.

This surfaced when testing a pull request from a fork. `master` would be
pointed at the forks HEAD commit hash, but not the fork URL. Thus the
build could not find the commit and would fail. See
https://github.com/libp2p/rust-libp2p/pull/3154
2022-11-23 10:52:07 +01:00
Thomas Eizinger
17dcc6cd49
fix(ping/rust): Bad typos (#77) 2022-11-22 15:20:49 +01:00
Thomas Eizinger
abce1ee483
ping/rust: Refactor into multiple binaries (#72)
By having one Rust binary per version, we can vary the actual binary from
version to version and f.e. fix deprecated API calls. It does introduce a bit of
duplication between the different versions but I'd rather have that then not
being able to adapt the tests to new APIs.

Instead of activating a feature per libp2p version, we add them all as
dependencies. This ensures all transitive dependencies are properly tracked in
`Cargo.lock`. Additionally, this gives us a single place we are can activate all
the feature.

For `master` and pull-request builds, we replace the git target or rev with the
one coming from the CI build. Once we trigger a build, `cargo` will update and
resolve the necessary dependencies before that, thus fixing problems such as
https://github.com/libp2p/rust-libp2p/pull/2972.
2022-11-18 12:49:30 +01:00
Max Inden
b97b36aa27
ping/rust/Dockerfile: Build in debug mode instead of release mode (#50) 2022-11-04 18:05:27 +01:00
Max Inden
3d51093f23
ping/rust: Run cargo update (#69)
Updates dependency. In the hope to resolve conflict from
https://github.com/libp2p/rust-libp2p/pull/2972/.
2022-11-02 12:28:31 +00:00
Thomas Eizinger
e76388106f
ping/: Update for rust-libp2p v0.49 release (#60) 2022-10-21 15:50:18 +01:00
Laurent Senta
eb718a306d
Organization: add DESIGN.md and ROADMAP.md (#44)
Co-authored-by: Steve Loeppky <stvn@loeppky.com>
Co-authored-by: Prithvi Shahi <shahi.prithvi@gmail.com>
2022-10-20 17:30:36 -07:00
Elena Frank
c71602e88c
ping/rust: Update rust-sdk patch, remove unused dependencies (#42)
* ping/rust: remove unused dependencies

* README: fix import instructions

* ping/rust: set channel capacity to # of instances

* ping/rust: use testground-v0.4.0 from crates.io
2022-10-04 12:42:33 +01:00
Max Inden
5b5b653430
ping/rust/src/main: Decrease ping interval (#46)
This will speed up test runs.
2022-09-30 18:29:21 +01:00
Max Inden
a9292a67d2
ping/rust/src/main: Reduce noise on logs (#47)
- Don't log every `SwarmEvent`.
- Log connected and ping only once per peer.
- Log format somewhat consistent with Golang implementation.
2022-09-27 12:26:31 +02:00
Max Inden
edd1dd4d5e
ping/: Update to rust-libp2p release v0.48.0 and master v0.49.0 (#41)
See release of v0.48.0 in https://github.com/libp2p/rust-libp2p/pull/2869.

Master bump to v0.49.0 in https://github.com/libp2p/rust-libp2p/pull/2813
2022-09-25 20:30:40 +02:00
Laurent Senta
1b981a33e0
.github/workflows: use write-artifacts and prevent rebuild (#40)
* .github/workflows: use write-artifacts to prevent rebuild

* .github/workflows: increase build timeout

* .github: add testground install retry
2022-09-23 11:42:26 +02:00
Laurent Senta
24b30b2b3f
ping/rust: remove the master dependency (#45)
* ping/rust: pin sdk-rust version

* ping/rust: make master branch explicit

* ping/rust: drop version for master builds
2022-09-23 09:53:00 +02:00
libp2p-mgmt-read-write[bot]
a4f036587a
chore: Update .github/workflows/stale.yml [skip ci] 2022-09-19 13:41:32 +00:00
Laurent Senta
520162a188
.github/actions/setup-testground: shortcircuit with edge releases (#34) 2022-09-07 08:45:54 +02:00
Laurent Senta
0d238710c7
ping/_composition: use latest release in interop-latest (#37) 2022-09-06 17:34:25 +02:00
Laurent Senta
b640639f86
ping/_compositions/*: fix rust version rewrite (#33) 2022-08-30 11:33:22 +02:00
Laurent Senta
d872355bc0
feat: add retries & update ping/go interop test (#32)
* .github/workflows/run-composition.yml: retry the build command

* .github/workflows/run-composition.yml: reduce run timeout for now

* .github/workflows/*: run on push and PR

* .github/actions: check testground health

* ping/_composition/*: reorder lib versions

* ping/: update with go-libp2p v0.22

* chore: gofmt

* .github/workflows: allow check test-plans during PR and push

* .github/workflows/*: introduce ping-interop-latest

* .github/workflow: tweak retry + timeout

* .github/actions/setup-testground: retry install

* ping/rust: update with v0.47.0 release
2022-08-29 16:34:15 +02:00
Laurent Senta
072d351a5f
ping/rust: introduce rust cross-version test (#26)
* ping/go: fix composition name

* ping/rust: introduce the ping/rust test

* Showcase version selection through features

Can be run with `cargo check --features libp2pv0450` or `cargo check --features
libp2pv0440`.

* Peer programming session

* ping/rust: experiment with master & current groups

* ping/rust/src/main: Simplify import across versions

* ping/rust/src/main: Remove commented out code

* ping/rust/src/main: Clean up

* ping/rust/Dockerfile: Update crates.io index in separate step

Potentially allows caching.

* ping/rust/Dockerfile: Don't both build and install

Building the binary in release mode is enough.

* ping/rust/src/main: Clean up log lines

* ping/rust: Implement iterations with latency

* ping/rust/src/main: Extract signal and wait logic into fn

* ping/rust/Dockerfile: import caching fixes

* ping/: add cross-version composition

* ping/rust: add json payloads fix

* ping/rust: match iterations id with go

* ping/rust/Dockerfile: improve caching

* ci: introduce workflow ping-interop-rust

* ping/interop: update latest versions

* ping/_compositions: add full ping interop

* ci: resolve git reference to sha

* ping/rust/Dockerfile: drop cargo output

* ping/rust: drop version indirection

* ping/rust/Dockerfile: fix features to support caching

* ping/rust/Dockerfile: do not cache the rewritten package

* ping/_compositions/*: use concurrent_builds

* ping/_compositions/*: drop test_instances count

* ci: build composition then run

* ping: introduce InteropTarget option

* ci: fix interop target & build

* ping/_compositions/*: introduce load_resource

* ci: 10 minutes timeout for the run step

* README: add update instruction for rust & clean go

* ping/rust/Dockerfile: add protocol buffer compiler

* ping/rust/Cargo.lock: cargo update packages

* .github: increase testground timeout

Co-authored-by: Max Inden <mail@max-inden.de>
2022-08-22 12:25:07 +02:00
Laurent Senta
3f6b90969d README: detail the update procedure 2022-08-02 16:34:01 +02:00
Laurent Senta
7316e2e6c3 ping/go: release go-libp2p v0.21 2022-08-02 16:34:01 +02:00
Laurent Senta
87c4137ff9
fix: tidy compat and update versions (#25)
* ping/go: tidy with compat flag to prevent errors in CI

```
unused github.com/whyrusleeping/multiaddr-filter
unused golang.org/x/xerrors
go: downloading github.com/google/go-cmp v0.5.6
github.com/libp2p/test-plans/ping/go imports
        github.com/testground/sdk-go/sync imports
        nhooyr.io/websocket tested by
        nhooyr.io/websocket.test imports
        nhooyr.io/websocket/internal/test/assert imports
        github.com/google/go-cmp/cmp loaded from github.com/google/go-cmp@v0.5.5,
        but go 1.16 would select v0.5.6
...
```

* ping/go: update to go1.18
2022-07-25 15:30:38 +02:00
Laurent Senta
eee18f085e
ci: remove test commit mistake (#24) 2022-07-01 12:22:40 +02:00
Laurent Senta
fb5c863d88
testground: cross-version interoperability (#23)
* plan/ping: fix test & use go 1.17

* plan/ping: fix dedup path

* ping-interop: prepare base module and build script

* ping-interop/go-v0.11: introduce legacy ping test (fix original)

* ci: add interop reusable workflow

* ci: add testground endpoint config

* ping-interop: rewrite with new testground build config feature

* ping-interop: add v0.20 version

* ping-interop: fix build parameters

* ci: add ping-interop-go runner

* ci: use self hosted runner

* ping-interop: name with the current git branch

* ping-interop: use external proxy & drop build cache

* ping-interop: support dependencies changes in go master

* ping-interop: using longer timeout with regulars runners

* ping-interop: move to ping

* README: add ping/go update intructions

* ci: rename compatibility test

* ci: add support for forks

* ping: add doc

* REMOVEME: use a test setup

* ping: update libp2p versions

* ping: add security compat

* ping: smaller compat surface
2022-07-01 09:32:16 +02:00
Marten Seemann
8497c05980
update go-libp2p to v0.17.0 in ping test, remove secio secure channel (#19) 2022-04-19 04:23:12 -07:00
Anton Evangelatov
d0aa7c1ef7
upgrade sdk-go for ping testplan (#12)
* upgrade sdk-go for ping testplan

* go mod tidy
2020-11-09 10:22:28 +01:00
Anton Evangelatov
a7fb52ca34
remove private artifacts (#11) 2020-11-09 10:22:16 +01:00
Raúl Kripalani
ee15fa80ca
add an instructional libp2p ping test plan. (#9) 2020-07-22 16:56:20 +01:00
Yusef Napora
d5bdcb51db
bump go-libp2p dependencies in pubsub test (#7)
* bump go-multiaddr dependency

* bump go-libp2p deps

* add sleep after listen to workaround peer rec issue

* update to go-libp2p 0.9.1
2020-05-20 10:58:58 -04:00