The job set NODE_2 but not NODE_1, so the two docker store peers in
test_send_lightpush_and_edge.py (S11 and S25) silently fell back to the
DEFAULT_NWAKU literal, wakuorg/nwaku:v0.38.1, instead of the image built by
this run. Both tests are docker_required, so they run in the subset that
does receive node_image; they were the only NODE_1 readers in the suite and
the only ones missing out.
An empty node_image keeps working: get_env_var treats "" as unset, so the
non-docker subset and fork PRs still land on v0.38.1, exactly as NODE_2
already did.
DEFAULT_NWAKU is left as the hardcoded literal it is. Nothing reachable from
tests/wrappers_tests reads it except as the NODE_1/NODE_2 fallback -
src/steps/sharding.py and src/steps/rln.py are its only direct consumers and
neither is imported here - so making it env-driven would add a knob with no
effect. ADDITIONAL_NODES is likewise unused: its only readers,
setup_additional_publishing_nodes and setup_additional_store_nodes, have no
callers anywhere in tests-e2e.
* Add in-repo API/e2e test suite (tests-e2e)
Migrate the liblogosdelivery API/wrapper pytest suite into tests-e2e/ and run it in CI (e2e-api-tests.yml) against the built library. Edge senders use the real lightpush path (relay=False).
* ci: run docker subset of the API/e2e wrapper tests
Parametrize e2e-api-tests.yml with `subset` (non-docker|docker) and `node_image` inputs, and add a send-api-e2e-docker-tests job that runs the docker_required wrapper tests (S19/S20/S31) against the built node image.
The docker job needs both the liblogosdelivery artifact and the container-image build, and skips when no image is available (fork PRs lack the registry secrets). The non-docker subset still needs only `build`, so a docker-image build failure cannot mask its result.
* 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.
Migrate the liblogosdelivery API/wrapper pytest suite into tests-e2e/ and run it in CI (e2e-api-tests.yml) against the built library. Edge senders use the real lightpush path (relay=False).