-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathimages.yaml
More file actions
121 lines (112 loc) · 3.76 KB
/
images.yaml
File metadata and controls
121 lines (112 loc) · 3.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Perf Test - Implementation Definitions
# This file defines all implementations to test for libp2p performance benchmarking
# Test Aliases - Define reusable patterns for test selection
# Usage: --test-select "~libp2p" or --test-ignore "~baseline"
test-aliases:
- alias: "all"
value: "~baselines|~images"
- alias: "none"
value: "!~all"
- alias: "images"
value: "dotnet-v1.0|go-v0.45|js-v3.x|python-v0.x|rust-v0.56"
- alias: "python"
value: "python-v0.x"
- alias: "baselines"
value: "https|quic-go|iperf"
- alias: "go"
value: "go-v0.45"
- alias: "rust"
value: "rust-v0.56"
- alias: "js"
value: "js-v3.x"
- alias: "dotnet"
value: "dotnet-v1.0"
- alias: "failing" # As of 26 Feb 2026
value: "go-v0.45 x js-v3.x (webtransport)|js-v3.x x go-v0.45 (webtransport)|js-v3.x x js-v3.x (webtransport)|js-v3.x x dotnet-v1.0 (tcp, tls, yamux)|rust-v0.56 x dotnet-v1.0 (tcp, tls, yamux)|dotnet-v1.0 x go-v0.45 (tcp, noise, yamux)|dotnet-v1.0 x go-v0.45 (tcp, tls, yamux)|dotnet-v1.0 x go-v0.45 (quic-v1)|dotnet-v1.0 x rust-v0.56 (tcp, noise, yamux)|dotnet-v1.0 x rust-v0.56 (tcp, tls, yamux)|dotnet-v1.0 x rust-v0.56 (quic-v1)|dotnet-v1.0 x js-v3.x (tcp, noise, yamux)|dotnet-v1.0 x js-v3.x (tcp, tls, yamux)|dotnet-v1.0 x dotnet-v1.0 (quic-v1)"
# Baseline implementations - Separate from main tests
# These measure raw network/protocol performance for comparison
# Docker image naming: perf-<id>
baselines:
# HTTPS baseline (standalone transport - no secureChannel/muxer needed)
- id: https
source:
type: local
path: images/https/v1.0
dockerfile: Dockerfile
transports: [https]
secureChannels: []
muxers: []
# QUIC-Go baseline (standalone transport - no secureChannel/muxer needed)
- id: quic-go
source:
type: local
path: images/quic-go/v1.0
dockerfile: Dockerfile
transports: [quic]
secureChannels: []
muxers: []
# iperf3 baseline (raw TCP performance)
- id: iperf
source:
type: local
path: images/iperf/v3.0
dockerfile: Dockerfile
transports: [tcp]
secureChannels: []
muxers: []
# Implementation definitions
# Docker image naming: perf-<id>
implementations:
- id: go-v0.45
source:
type: local
path: images/go/v0.45
dockerfile: Dockerfile
transports: [tcp, quic-v1, webtransport]
secureChannels: [noise, tls]
muxers: [yamux, mplex]
- id: rust-v0.56
source:
type: local
path: images/rust/v0.56
dockerfile: Dockerfile
# webrtc-direct removed: broken in this version (SRTP key length mismatch, see #20).
# Fixed upstream in webrtc-rs/webrtc#677. Re-enable when rust-libp2p cuts a new release with the fix.
transports: [quic-v1, tcp, ws]
secureChannels: [noise, tls]
muxers: [yamux, mplex]
- id: js-v3.x
source:
type: local
path: images/js/v3.x
dockerfile: Dockerfile
transports: [tcp, webtransport]
secureChannels: [noise, tls]
muxers: [yamux, mplex]
- id: dotnet-v1.0
source:
type: local
path: images/dotnet/v1.0
dockerfile: Dockerfile
transports: [tcp, quic-v1]
secureChannels: [noise, tls]
muxers: [yamux]
- id: python-v0.x
source:
type: github
repo: libp2p/py-libp2p
commit: ca470efdaf4df982d4e3844d86a515eb18efca7a
dockerfile: interop/perf/Dockerfile
transports: [tcp, ws]
secureChannels: [noise, tls]
muxers: [yamux, mplex]
# Local python config (same Dockerfile; context = repo root = images/python/0.x/py-libp2p)
#- id: python-v0.x
# source:
# type: local
# path: images/python/0.x/py-libp2p
# dockerfile: interop/perf/Dockerfile
# transports: [quic-v1, tcp, ws]
# transports: [tcp, ws]
# secureChannels: [noise, tls]
# muxers: [yamux, mplex]