Testground testplans for libp2p
Go to file
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
.github .github/workflows: use write-artifacts and prevent rebuild (#40) 2022-09-23 11:42:26 +02:00
dht remove private artifacts (#11) 2020-11-09 10:22:16 +01:00
nodes-connectivity intake nodes-connectivity plan README. (#3) 2020-04-22 17:59:34 +01:00
ping fix(ping/rust): Don't set PR ref for master build (#79) 2022-11-23 10:52:07 +01:00
pubsub bump go-libp2p dependencies in pubsub test (#7) 2020-05-20 10:58:58 -04:00
.gitignore add baseline pubsub test plan (#6) 2020-05-15 14:09:41 -04:00
DESIGN.md Organization: add DESIGN.md and ROADMAP.md (#44) 2022-10-20 17:30:36 -07:00
LICENSE-APACHE initial commit. 2020-04-22 16:25:28 +01:00
LICENSE-MIT initial commit. 2020-04-22 16:25:28 +01:00
README.md ping/rust: Refactor into multiple binaries (#72) 2022-11-18 12:49:30 +01:00
ROADMAP.md Organization: add DESIGN.md and ROADMAP.md (#44) 2022-10-20 17:30:36 -07:00

README.md

Testground test plans for libp2p

Made by Protocol Labs Go version

This repository contains Testground test plans for libp2p components.

Roadmap

Our roadmap for test-plans can be found here: https://github.com/libp2p/test-plans/blob/master/ROADMAP.md

It represents current projects the test-plans maintainers are focused on and provides an estimation of completion targets. It is complementary to those of go-libp2p, rust-libp2p, js-libp2p, and the overarching libp2p project roadmap.

How to add a new version to ping/go

When a new version of libp2p is released, we want to make it permanent in the ping/go test folder.

  1. In the ping/_compositions/go.toml file,
    • copy the [master] section and turn it into a [[groups]] item
    • update the [master] section with the future version
  2. In the ping/go folder,
    • Add a new compatibility shim in compat/ if needed, or add your new selector to the latest shim (see compat/libp2p.v0.17.go for example).
    • Create the new mod and sum files (go.v0.21.mod for example). Assuming you're updating from v$A to v$B, a simple way to do this is to:
      • cp go.v$A.mod go.v$B.mod; cp go.v$A.sum go.v$B.sum
      • ln -s go.v$B.mod go.mod; ln -s go.v$B.sum go.sum (you may also use this for local development, these files are ignored by git)
      • update the go-libp2p version, go version, and update the code if needed.
      • then go get -tags v$B && go mod tidy
  3. Run the test on your machine
    • Do once, from the test-plans root: import the test-plans with testground plan import --from ./ --name libp2p
    • Run the test with testground run composition -f ping/_compositions/go-cross-versions.toml --wait

How to add a new version to ping/rust

When a new version of libp2p is released, we want to make it permanent in the ping/rust test folder.

  1. In the ping/_compositions/rust.toml file,
    • Copy the latest [[groups]] section and update it's Id and BinaryName accordingly.
  2. In the ping/rust folder,
    • Cargo.toml: Add the newly released version as a crates.io dependency.
    • Cargo.toml: Update the Next release dependency to the latest master SHA.
    • src/bin: Add a new binary with the next released version.
  3. Run the test on your machine
    • Do once, from the test-plans root: import the test-plans with testground plan import --from ./ --name libp2p
    • Run the test with testground run composition -f ping/_compositions/rust-cross-versions.toml --wait

License

Dual-licensed: MIT, Apache Software License v2, by way of the Permissive License Stack.