diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1e097d5..395c32b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,6 +14,18 @@ jobs: # Recommended for PyPI Trusted Publishing — configure a "pypi" environment + # a trusted publisher on PyPI (repo BabelQueue/babelqueue-python, this workflow). environment: pypi + # redis_layout (conformance 1.6.0) drives the real Lua scripts: a real redis:7 is mandatory, + # exactly as in ci.yml's `conformance` job — without it the cases are reported as failures. + services: + redis: + image: redis:7 + ports: + - 6379:6379 + options: >- + --health-cmd "redis-cli ping" + --health-interval 5s + --health-timeout 3s + --health-retries 10 env: # The pinned conformance release (ADR-0032). Keep identical to ci.yml. BQ_CONFORMANCE_VERSION: 1.6.0 @@ -40,9 +52,12 @@ jobs: - name: Install & test (writes results.json) env: BQ_CONFORMANCE_RESULTS: ${{ runner.temp }}/results.json + # A real redis:7 is mandatory: no silent skip or fakeredis fallback (shared runner contract). + BQ_REQUIRE_REDIS: "1" + BABELQUEUE_TEST_REDIS: redis://localhost:6379/0 run: | python -m pip install --upgrade pip build - pip install -e ".[dev,celery,django,otel]" opentelemetry-sdk jsonschema + pip install -e ".[dev,celery,django,otel,redis]" opentelemetry-sdk jsonschema pytest test -s "$BQ_CONFORMANCE_RESULTS" # the conformance run must have produced results.json