fix(pubsub): wake reconciliation only for a full queue; run the new tests in CI

A queued Subscribe is processed in order, and a closed queue means the
subscriber restarts and re-subscribes the whole desired map. Only a
subscribe hint dropped by a full queue needs the reconciliation wake-up,
so first retains no longer each make the subscriber rescan the map.

The new relay lifecycle tests and the full-queue pubsub test join the
infra-free unit lanes (Justfile and scripts/run-tests.sh). The Redis
subscriber test runs in a Redis-backed backend-integration step, so
buzz-pubsub joins that archive.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
This commit is contained in:
Logan Johnson
2026-11-06 13:23:24 -05:00
parent 3402a67ade
commit bbecb47cff
4 changed files with 45 additions and 12 deletions

View File

@@ -121,6 +121,7 @@ jobs:
cargo nextest archive \
--cargo-profile ci \
-p buzz-db \
-p buzz-pubsub \
-p buzz-relay \
-p buzz-relay-mesh \
-p buzz-test-client \
@@ -583,6 +584,13 @@ jobs:
--archive-file target/ci/backend-integration-tests.tar.zst \
-E 'package(buzz-relay-mesh) and test(/^registry::tests::external_infra_redis::/)' \
--run-ignored ignored-only
- name: Pubsub subscriber reconciliation regression
# Runs the live Redis subscriber; the test dials redis://127.0.0.1:6379.
run: |
cargo nextest run \
--archive-file target/ci/backend-integration-tests.tar.zst \
-E 'package(buzz-pubsub) and test(=tests::live_subscriber_recovers_a_dropped_subscribe_hint)' \
--run-ignored ignored-only
- name: Workflow message provenance unit tests
# The relay's workflow_sink suite is not selected by the infra-free
# unit job. Its ignored database cases run in the isolated PostgreSQL