Skip to content

fix multiversion apt archive #153

fix multiversion apt archive

fix multiversion apt archive #153

Workflow file for this run

# E2E tests using Docker Compose topology
name: E2E Tests
concurrency:
group: e2e-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: write
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
changes:
runs-on: ubuntu-latest
outputs:
run_e2e: ${{ steps.filter.outputs.e2e }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- id: filter
uses: ./.github/actions/common-ci-filter
e2e:
needs: changes
if: needs.changes.outputs.run_e2e == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Start Docker Compose topology
run: |
cd e2e
docker compose build
docker compose up -d
- name: Wait for containers to be ready
run: |
echo "Waiting for containers to start..."
docker ps -a
echo "Waiting for probe container to be ready..."
for i in {1..30}; do
if docker exec probe etr --version &>/dev/null; then
echo "✓ Probe container ready"
break
fi
if [ $i -eq 30 ]; then
echo "ERROR: Probe container not ready after 30 seconds"
docker logs probe
exit 1
fi
sleep 1
done
- name: Verify network connectivity
run: |
echo "Testing basic connectivity..."
# Check hop1-gw
if timeout 5 docker exec probe ping -c 2 10.1.1.102 &>/dev/null; then
echo "✓ Can reach hop1-gw (10.1.1.102)"
else
echo "⚠ Cannot reach hop1-gw (10.1.1.102)"
fi
# Check destination
if timeout 5 docker exec probe ping -c 2 10.4.1.102 &>/dev/null; then
echo "✓ Can reach destination (10.4.1.102)"
else
echo "⚠ Cannot reach destination (10.4.1.102)"
fi
echo "Route table:"
docker exec probe ip route
- name: Run IPv4 path discovery test
run: |
cd e2e
./test_paths.sh 10.4.1.102 10.2.1.102 10.2.2.102
- name: Run IPv6 path discovery test
run: |
cd e2e
./test_paths.sh fd16:24b7:6fcd:41::102 fd16:24b7:6fcd:21::102 fd16:24b7:6fcd:22::102
- name: Show Docker logs (on failure)
if: failure()
run: docker compose -f e2e/docker-compose.yml logs