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.tomlfile,- copy the
[master]section and turn it into a[[groups]]item - update the
[master]section with the future version
- copy the
- In the
ping/gofolder,- Add a new compatibility shim in
compat/if needed, or add your new selector to the latest shim (seecompat/libp2p.v0.17.gofor example). - Create the new mod and sum files (
go.v0.21.modfor example). Assuming you're updating fromv$Atov$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.sumln -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-libp2pversion, 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 ./ --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.tomlfile,- Copy the
[master]section and turn it into a item in the[[groups]]array - Update the
[master]section with the new master version
- Copy the
- In the
ping/rustfolder,Cargo.toml: update the feature flagslibp2pvxxxto fix the released version and add the newmastersrc/main.rs: Update themod libp2pdefinition with the new master- Run
cargo updateif 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 ./ --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.