From 697ecf8d99988f23ec29b3a82d09f8696eb13bc1 Mon Sep 17 00:00:00 2001 From: Aya Hassan Date: Wed, 24 Jun 2026 14:28:52 +0200 Subject: [PATCH] add new PR job for send API --- .github/workflows/send_api_e2e_PR.yml | 101 ++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 .github/workflows/send_api_e2e_PR.yml diff --git a/.github/workflows/send_api_e2e_PR.yml b/.github/workflows/send_api_e2e_PR.yml new file mode 100644 index 000000000..4d35d5cb0 --- /dev/null +++ b/.github/workflows/send_api_e2e_PR.yml @@ -0,0 +1,101 @@ +name: Send API E2E Tests + +on: + workflow_dispatch: + workflow_call: + +env: + FORCE_COLOR: "1" + +jobs: + send-api-e2e: + name: send API e2e tests + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + with: + repository: logos-messaging/logos-messaging-interop-tests + ref: SMOKE_TEST_STABLE + submodules: recursive + + - uses: actions/setup-python@v4 + with: + python-version: "3.12" + cache: "pip" + + - run: pip install -r requirements.txt + + # No build step: liblogosdelivery.so is built by logos-delivery's ci.yml + # (build job) and consumed here as a workflow artifact from the same run. + - name: Download liblogosdelivery.so + uses: actions/download-artifact@v4 + with: + name: liblogosdelivery + path: vendor/logos-delivery-python-bindings/lib/ + + - name: Verify wrapper library + run: test -f vendor/logos-delivery-python-bindings/lib/liblogosdelivery.so + + - name: Run send API E2E tests - basic life cycle + continue-on-error: true + env: + PYTHONPATH: ${{ github.workspace }}/vendor/logos-delivery-python-bindings/waku + run: | + pytest tests/wrappers_tests/test_basic_life_cycle.py \ + -m "not docker_required" \ + --junit-xml=send-api-results-basic.xml + + - name: Run send API E2E tests - send handle and subscription + continue-on-error: true + env: + PYTHONPATH: ${{ github.workspace }}/vendor/logos-delivery-python-bindings/waku + run: | + pytest tests/wrappers_tests/test_send_handle_and_subscription.py \ + -m "not docker_required" \ + --junit-xml=send-api-results-send-handle-and-subscription.xml + + - name: Run send API E2E tests - send relay propagation + continue-on-error: true + env: + PYTHONPATH: ${{ github.workspace }}/vendor/logos-delivery-python-bindings/waku + run: | + pytest tests/wrappers_tests/test_send_relay_propagation.py \ + -m "not docker_required" \ + --junit-xml=send-api-results-send-relay-propagation.xml + + - name: Run send API E2E tests - send lightpush and edge + continue-on-error: true + env: + PYTHONPATH: ${{ github.workspace }}/vendor/logos-delivery-python-bindings/waku + run: | + pytest tests/wrappers_tests/test_send_lightpush_and_edge.py \ + -m "not docker_required" \ + --junit-xml=send-api-results-send-lightpush-and-edge.xml + + - name: Run send API E2E tests - send errors and concurrency + continue-on-error: true + env: + PYTHONPATH: ${{ github.workspace }}/vendor/logos-delivery-python-bindings/waku + run: | + pytest tests/wrappers_tests/test_send_errors_and_concurrency.py \ + -m "not docker_required" \ + --junit-xml=send-api-results-send-errors-and-concurrency.xml + + - name: Run send API E2E tests - corner cases + continue-on-error: true + env: + PYTHONPATH: ${{ github.workspace }}/vendor/logos-delivery-python-bindings/waku + run: | + pytest tests/wrappers_tests/test_wrapper_corner_cases.py \ + -m "not docker_required" \ + --junit-xml=send-api-results-corner-cases.xml + + - name: Test Report + if: always() + uses: dorny/test-reporter@95058abb17504553158e70e2c058fe1fda4392c2 + with: + name: Send API E2E Test Results + path: send-api-results-*.xml + reporter: java-junit + use-actions-summary: "true"