Commit Graph

203 Commits

Author SHA1 Message Date
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
Yusef Napora f0762b1814
add baseline pubsub test plan (#6)
* refactor baseline test out of private repo

* rm references to attackers

* fix default plan name & add widget to override

* add configs for local runners

* update runner notebook intro text

* fix build tags

* increase setup time in saved configs
2020-05-15 14:09:41 -04:00
Anton Evangelatov 8f4fb1bfca
use selectors, not Selectors (#5) 2020-05-06 21:22:20 +01:00