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_2: ${{ inputs.node_image }} steps: - name: Checkout code uses: actions/checkout@v4 # Consumes the shared library built by ci.yml's `build` job (same run). - name: Download liblogosdelivery.so uses: actions/download-artifact@v4 with: name: liblogosdelivery path: tests-e2e/vendor/logos-delivery-python-bindings/lib - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' cache: 'pip' cache-dependency-path: tests-e2e/requirements.txt - name: Install Python deps run: pip install -r tests-e2e/requirements.txt - 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