This repository contains Testground test plans for libp2p components.
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
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
andCargoFeature
name.
- Copy the latest
- In the
ping/rust
folder,Cargo.toml
: create the feature flagslibp2pvxxx
with the released version,src/main.rs
: Update themod libp2p
definition with the new version,- Run
cargo update
if needed. Try to build withcargo build --features libp2pvxxx
- 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
Dual-licensed: MIT, Apache Software License v2, by way of the Permissive License Stack.