From 6105239506d8998d6028d68a83ac337809d14d87 Mon Sep 17 00:00:00 2001 From: Egor Rachkovskii <32649334+at0m1x19@users.noreply.github.com> Date: Tue, 28 Jul 2026 23:25:56 +0100 Subject: [PATCH] ci: run docker e2e subset on fork PRs against a pinned public image Drop the gate that skipped the docker subset when no PR-built node image is available. Fork PRs lack the quay secrets, so build-docker-image succeeds with an empty output and the subset now falls back to DEFAULT_NWAKU instead of being skipped. Pin DEFAULT_NWAKU to wakuorg/nwaku:v0.38.1. The rolling :latest tag is a daily upstream master build and currently fails to boot with "updateAddressInENR: Public key does not correspond with given private key", which would have made the subset permanently red on fork PRs. s31 passes against v0.38.1 and against the PR-built image. Echo the resolved peer image at the start of the test step. The job name is left static so the check can still be made required. --- .github/workflows/ci.yml | 3 +-- .github/workflows/e2e-api-tests.yml | 4 +++- tests-e2e/src/env_vars.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f26599ac1..bef3be2d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -217,10 +217,9 @@ jobs: subset: non-docker secrets: inherit - # Docker subset; skipped when there's no node image (fork PRs lack the quay secrets). + # Docker subset; an empty node_image falls back to DEFAULT_NWAKU (fork PRs lack the quay secrets). send-api-e2e-docker-tests: needs: [build, build-docker-image] - if: ${{ needs.build-docker-image.outputs.image != '' }} uses: ./.github/workflows/e2e-api-tests.yml with: subset: docker diff --git a/.github/workflows/e2e-api-tests.yml b/.github/workflows/e2e-api-tests.yml index e1c882ce5..95464c749 100644 --- a/.github/workflows/e2e-api-tests.yml +++ b/.github/workflows/e2e-api-tests.yml @@ -44,4 +44,6 @@ jobs: - name: Run API/e2e tests (${{ inputs.subset }} subset) working-directory: tests-e2e - run: pytest tests/wrappers_tests -m "${{ inputs.subset == 'docker' && 'docker_required' || 'not docker_required' }}" --reruns 2 + run: | + echo "docker peer image: ${NODE_2:-public default (DEFAULT_NWAKU)}" + pytest tests/wrappers_tests -m "${{ inputs.subset == 'docker' && 'docker_required' || 'not docker_required' }}" --reruns 2 diff --git a/tests-e2e/src/env_vars.py b/tests-e2e/src/env_vars.py index 32e96a7e1..6fe752a38 100644 --- a/tests-e2e/src/env_vars.py +++ b/tests-e2e/src/env_vars.py @@ -14,7 +14,7 @@ def get_env_var(var_name, default=None): # Configuration constants. Need to be upercase to appear in reports -DEFAULT_NWAKU = "wakuorg/nwaku:latest" +DEFAULT_NWAKU = "wakuorg/nwaku:v0.38.1" STRESS_ENABLED = False USE_WRAPPERS = True NODE_1 = get_env_var("NODE_1", DEFAULT_NWAKU)