Commit Graph

21 Commits

Author SHA1 Message Date
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
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 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
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 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 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
Raúl Kripalani ee15fa80ca
add an instructional libp2p ping test plan. (#9) 2020-07-22 16:56:20 +01:00