From 09972171edb2f513b43e16205cc62dbc6eb7dba0 Mon Sep 17 00:00:00 2001 From: Egor Rachkovskii <32649334+at0m1x19@users.noreply.github.com> Date: Fri, 17 Jul 2026 14:45:26 +0100 Subject: [PATCH] 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. --- .github/workflows/ci.yml | 12 ++++++++++++ .github/workflows/e2e-api-tests.yml | 19 +++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ff06833d..f26599ac1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -213,6 +213,18 @@ jobs: send-api-e2e-tests: needs: build uses: ./.github/workflows/e2e-api-tests.yml + with: + subset: non-docker + secrets: inherit + + # Docker subset; skipped when there's no node image (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 + node_image: ${{ needs.build-docker-image.outputs.image }} secrets: inherit lint: diff --git a/.github/workflows/e2e-api-tests.yml b/.github/workflows/e2e-api-tests.yml index 00c5a4cfe..52b13e879 100644 --- a/.github/workflows/e2e-api-tests.yml +++ b/.github/workflows/e2e-api-tests.yml @@ -2,12 +2,27 @@ name: e2e-api-tests on: workflow_call: + inputs: + subset: + description: "Which wrapper subset to run: 'non-docker' or 'docker'." + type: string + required: false + default: "non-docker" + node_image: + description: "Node image used for the docker peers (docker subset only)." + type: string + required: false + default: "" jobs: api-e2e: runs-on: ubuntu-22.04 timeout-minutes: 45 name: api-e2e + env: + NODE_1: ${{ inputs.node_image }} + NODE_2: ${{ inputs.node_image }} + ADDITIONAL_NODES: ${{ inputs.node_image }} steps: - name: Checkout code uses: actions/checkout@v4 @@ -29,6 +44,6 @@ jobs: - name: Install Python deps run: pip install -r tests-e2e/requirements.txt - - name: Run API/e2e tests (non-docker subset) + - name: Run API/e2e tests (${{ inputs.subset }} subset) working-directory: tests-e2e - run: pytest tests/wrappers_tests -m "not docker_required" --reruns 2 + run: pytest tests/wrappers_tests -m "${{ inputs.subset == 'docker' && 'docker_required' || 'not docker_required' }}" --reruns 2