3.1 KiB
3.1 KiB
Testground test plans for libp2p
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.
- 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
- copy the
- In the
ping/go
folder,- Add a new compatibility shim in
compat/
if needed, or add your new selector to the latest shim (seecompat/libp2p.v0.17.go
for example). - Create the new mod and sum files (
go.v0.21.mod
for example). Assuming you're updating fromv$A
tov$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
- Add a new compatibility shim in
- 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
- Do once, from the test-plans root: import the test-plans with
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.
- In the
ping/_compositions/rust.toml
file,- Copy the latest
[[groups]]
section and update it'sId
andBinaryName
accordingly.
- Copy the latest
- In the
ping/rust
folder,Cargo.toml
: Add the newly released version as a crates.io dependency.Cargo.toml
: Update theNext release
dependency to the latestmaster
SHA.src/bin
: Add a new binary with the next released version.
- 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
- Do once, from the test-plans root: import the test-plans with
License
Dual-licensed: MIT, Apache Software License v2, by way of the Permissive License Stack.