CI: Fast multidimensional Interop tests#1991
Conversation
32bd48a to
e89c617
Compare
marten-seemann
left a comment
There was a problem hiding this comment.
Nice work! Mostly nits here.
I'm wondering if we can use Docker tags instead of capturing the container ID, that might simplify the build process a tiny bit.
.github/workflows/interop-test.yml
Outdated
| path: ./test-plans/ping-image.tar | ||
| run-multidim-interop: | ||
| needs: build-ping-container | ||
| uses: "libp2p/test-plans/.github/workflows/run-testplans.yml@marco/wo-testground-opts" |
There was a problem hiding this comment.
Should this use master?
There was a problem hiding this comment.
This needs the branch that's in review. It will be master once that's merged.
| lukechampine.com/blake3 v1.1.7 // indirect | ||
| ) | ||
|
|
||
| replace github.com/libp2p/go-libp2p => ../ |
There was a problem hiding this comment.
Does this need to be a separate module? These replace statements have proven to be incredibly painful in the past (when you update a dependency, you also have to run go mod tidy here, otherwise CI fill fail your build).
There was a problem hiding this comment.
Doesn't have to be a separate module. Although if this isn't a separate module, then the test dependencies bubble up to the main module. So Redis would show up as a dependency to go-libp2p, even though it's only used for this test.
Unless, I'm wrong about that. In which case I'll happily not have this be a separate module.
There was a problem hiding this comment.
So Redis would show up as a dependency to go-libp2p, even though it's only used for this test.
Yeah, let's avoid that.
There was a problem hiding this comment.
We can (later) add a pre-commit git hook that checks that the go.mod here is up to date.
marten-seemann
left a comment
There was a problem hiding this comment.
LGTM. Please merge the test-plans PR first, and update the ref to master here.
ced8043 to
3969b3d
Compare
Runs the current branch against other supported versions. Tests all transport, muxer, and security combinations. Tests dialing and listening. Runs in <10 min compared to the existing interop test of ~30 min (but effectively ~15min since there are two tests that run in parallel).
In total this currently runs 95 integration tests compared to the 2 testground tests. To be fair the testground test run a test where all different nodes are on the same network and try to ping each other. That would be equivalent to roughly 5-15 tests here.
Draft until the corresponding test-plans PR is merged: libp2p/test-plans#99