Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 4 additions & 9 deletions .github/workflows/hole-punch-interop-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,15 +128,10 @@ jobs:
# Automatic trigger - use change detection outputs
echo "test-select=${{ steps.detect.outputs.changed-impls }}" >> $GITHUB_OUTPUT

# Negate each implementation ID in the pipe-separated list
# Always include ~failing to skip known-broken tests
CHANGED_IMPLS="${{ steps.detect.outputs.changed-impls }}"
if [ -n "$CHANGED_IMPLS" ]; then
NEGATED_IMPLS=$(echo "$CHANGED_IMPLS" | sed 's/|/|!/g;s/^/!/')
echo "test-ignore=~failing|$NEGATED_IMPLS" >> $GITHUB_OUTPUT
else
echo "test-ignore=~failing" >> $GITHUB_OUTPUT
fi
# Always include ~failing to skip known-broken tests.
# Do NOT add negated implementation patterns to test-ignore here -
# that conflicts with test-select and can result in 0 selected tests.
echo "test-ignore=~failing" >> $GITHUB_OUTPUT

echo "relay-select=${{ steps.detect.outputs.changed-relays }}" >> $GITHUB_OUTPUT

Expand Down
12 changes: 12 additions & 0 deletions hole-punch/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
# Test Aliases - Define reusable patterns for test selection
# Usage: --test-select "~linux" or --test-ignore "!~linux"
test-aliases:
- alias: "nim"
value: "nim-v1.15"
- alias: "failing"
value: "rust-v0.56 x rust-v0.56"

Expand Down Expand Up @@ -40,3 +42,13 @@ implementations:
transports: [quic-v1, tcp, ws]
secureChannels: [noise, tls]
muxers: [yamux, mplex]

- id: nim-v1.15
source:
type: github
repo: vacp2p/nim-libp2p
commit: 1bdf2f67971529e8bee01252230bdb00ab785ef7
dockerfile: interop/hole-punching/Dockerfile
transports: [tcp]
secureChannels: [noise]
muxers: [yamux, mplex]
22 changes: 11 additions & 11 deletions hole-punch/lib/generate-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ for relay_id in "${all_relay_ids[@]}"; do
relay_secure["${relay_id}"]="${secure}"
relay_muxers["${relay_id}"]="${muxers}"
relay_dial_only["${relay_id}"]="${dial_only}"
if [ -n "${commit}" ]; then
if [ -n "${commit}" ] && [ "${commit}" != "null" ]; then
relay_commit["${relay_id}"]="${commit}"
fi
done
Expand All @@ -377,7 +377,7 @@ declare -A router_commit
for router_id in "${all_router_ids[@]}"; do
commit=$(yq eval ".routers[] | select (.id == \"${router_id}\") | .source.commit" "${IMAGES_YAML}" 2>/dev/null || echo "")

if [ -n "${commit}" ]; then
if [ -n "${commit}" ] && [ "${commit}" != "null" ]; then
router_commit["${router_id}"]="${commit}"
fi
done
Expand Down Expand Up @@ -409,7 +409,7 @@ for image_id in "${all_image_ids[@]}"; do
image_secure["${image_id}"]="${secure}"
image_muxers["${image_id}"]="${muxers}"
image_dial_only["${image_id}"]="${dial_only}"
if [ -n "${commit}" ]; then
if [ -n "${commit}" ] && [ "${commit}" != "null" ]; then
image_commit["${image_id}"]="${commit}"
fi
image_legacy["${image_id}"]="${legacy}"
Expand Down Expand Up @@ -556,8 +556,8 @@ generate_tests_worker() {

print_debug "selecting listener router: ${listener_router_id}"

# Iterate through all dialers
for dialer_id in "${all_image_ids[@]}"; do
# Iterate through this worker's chunk of dialers
for dialer_id in "${dialer_chunk[@]}"; do
dialer_transports="${image_transports[$dialer_id]}"
dialer_secure="${image_secure[$dialer_id]}"
dialer_muxers="${image_muxers[$dialer_id]}"
Expand Down Expand Up @@ -759,23 +759,23 @@ EOF
imageName: ${relay_image_name}
EOF
if [ -n "${relay_commit}" ]; then
echo " snapshot: snapshots/${relay_commit}.zip" >> "${worker_selected}"
echo " snapshot: snapshots/${relay_commit}.zip" >> "${worker_ignored}"
fi
cat >> "${worker_ignored}" <<EOF
dialerRouter:
id: ${dialer_router_id}
imageName: ${dialer_router_image_name}
EOF
if [ -n "${dialer_router_commit}" ]; then
echo " snapshot: snapshots/${dialer_router_commit}.zip" >> "${worker_selected}"
echo " snapshot: snapshots/${dialer_router_commit}.zip" >> "${worker_ignored}"
fi
cat >> "${worker_ignored}" <<EOF
listenerRouter:
id: ${listener_router_id}
imageName: ${listener_router_image_name}
EOF
if [ -n "${listener_router_commit}" ]; then
echo " snapshot: snapshots/${listener_router_commit}.zip" >> "${worker_selected}"
echo " snapshot: snapshots/${listener_router_commit}.zip" >> "${worker_ignored}"
fi
fi

Expand Down Expand Up @@ -939,23 +939,23 @@ EOF
imageName: ${relay_image_name}
EOF
if [ -n "${relay_commit}" ]; then
echo " snapshot: snapshots/${relay_commit}.zip" >> "${worker_selected}"
echo " snapshot: snapshots/${relay_commit}.zip" >> "${worker_ignored}"
fi
cat >> "${worker_ignored}" <<EOF
dialerRouter:
id: ${dialer_router_id}
imageName: ${dialer_router_image_name}
EOF
if [ -n "${dialer_router_commit}" ]; then
echo " snapshot: snapshots/${dialer_router_commit}.zip" >> "${worker_selected}"
echo " snapshot: snapshots/${dialer_router_commit}.zip" >> "${worker_ignored}"
fi
cat >> "${worker_ignored}" <<EOF
listenerRouter:
id: ${listener_router_id}
imageName: ${listener_router_image_name}
EOF
if [ -n "${listener_router_commit}" ]; then
echo " snapshot: snapshots/${listener_router_commit}.zip" >> "${worker_selected}"
echo " snapshot: snapshots/${listener_router_commit}.zip" >> "${worker_ignored}"
fi
fi
done
Expand Down
1 change: 1 addition & 0 deletions lib/lib-test-filtering.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ get_common() {
# For each remaining list, keep only items that appear in it
for list in "$@"; do
local -A current_list_map
current_list_map=()

# Build a map of items in current list
for item in ${list}; do
Expand Down
Loading