Skip to content

Add GCP Pub/Sub CI coverage (#3191)#3193

Merged
jeremydmiller merged 1 commit into
mainfrom
feature/gcp-pubsub-ci-3191
Jun 22, 2026
Merged

Add GCP Pub/Sub CI coverage (#3191)#3193
jeremydmiller merged 1 commit into
mainfrom
feature/gcp-pubsub-ci-3191

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Fixes #3191.

GCP Pub/Sub was the one transport with no CI job — no CIPubsub Nuke target and no entry in the consolidated tests.yml matrix — so Wolverine.Pubsub.Tests never ran in CI and regressions shipped undetected. This is exactly why the reply-subject collision uncovered in #3189 wasn't caught automatically for GCP.

Changes

  • build/CITargets.cs — new CIPubsub target (builds Wolverine.Pubsub.Tests, starts the gcp-pubsub emulator + postgresql for the durable-compliance fixtures, runs the suite) plus a WaitForPubsubEmulatorToBeReady() TCP readiness poll on :8085.
  • .github/workflows/tests.yml — added CIPubsub to the matrix.
  • TestingExtensions.cs — point PUBSUB_EMULATOR_HOST at localhost:8085 instead of the IPv6 literal [::1]:8085; CI Linux runners publish the emulator container on IPv4 only, where [::1] is unreachable.

Validation

Ran the exact target locally: ./build.sh CIPubsub --framework net9.0142/142 Wolverine.Pubsub.Tests green (build + emulator startup + readiness wait + full suite).

Note: this branch is off main, which does not have #3189's "Solo == node 1" change, so GCP gets unique node numbers and the reply tests pass. The GCP reply-collision fix itself rides in #3189.

🤖 Generated with Claude Code

The GCP Pub/Sub transport had no CI job — no CIPubsub Nuke target and no entry
in the consolidated tests workflow — so its compliance suite never ran in CI and
regressions shipped undetected (e.g. the reply-subject collision found in #3189).

- Add a CIPubsub target (build Wolverine.Pubsub.Tests, start the gcp-pubsub
  emulator + postgresql, run the suite) and a WaitForPubsubEmulatorToBeReady()
  TCP readiness poll on 8085.
- Add CIPubsub to the matrix in .github/workflows/tests.yml.
- Point the test emulator host at localhost:8085 instead of the IPv6 literal
  [::1]:8085; CI Linux runners publish the container on IPv4 only.

Validated locally via ./build.sh CIPubsub: 142/142 Wolverine.Pubsub.Tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jeremydmiller
jeremydmiller merged commit e0cdebd into main Jun 22, 2026
25 checks passed
This was referenced Jun 23, 2026
This was referenced Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a GCP Pub/Sub CI workflow (Wolverine.Pubsub.Tests is not run in CI)

1 participant