Skip to content

ci: run CI workflows for pull requests targeting the 5.0 branch#3548

Merged
jeremydmiller merged 1 commit into
5.0from
enable-5.0-ci-triggers
Jul 20, 2026
Merged

ci: run CI workflows for pull requests targeting the 5.0 branch#3548
jeremydmiller merged 1 commit into
5.0from
enable-5.0-ci-triggers

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

The 5.0 maintenance-branch workflows only triggered on push / pull_request to main, so PRs into 5.0 (like the 5.40.0 backports) received no CI to green-gate on.

This adds "5.0" to the branch filters across all 21 test/build workflows so 5.x PRs run the same matrix as main PRs. docs.yml and publish_nugets.yml are deliberately left as-is (main-push / release-tag triggers).

Bootstrap note: because pull_request workflows are defined by the base branch, this change only takes effect once merged to 5.0 — it therefore cannot itself be CI-gated (workflow-trigger-only change). Merging this unblocks CI on #3544 (the GH-3533 → 5.40.0 backport).

🤖 Generated with Claude Code

https://claude.ai/code/session_01FKAxzuZ36VP6UPcTQf3MUs

…nce branch

The 5.0 workflows only triggered on push/pull_request to main, so PRs into the
5.0 branch (e.g. the 5.40.0 backports) got no CI to green-gate on. Add "5.0" to
the branch filters across all 21 test/build workflows so 5.x PRs are validated
the same way main PRs are. docs.yml / publish_nugets.yml are intentionally left
alone (they trigger on main pushes / release tags respectively).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKAxzuZ36VP6UPcTQf3MUs
@jeremydmiller
jeremydmiller merged commit ae46608 into 5.0 Jul 20, 2026
20 of 21 checks passed
jeremydmiller added a commit that referenced this pull request Jul 20, 2026
* GH-3533: pin Azure Service Bus session listeners to specific session identifiers (5.x backport)

Backport of the 6.x change to the 5.0 maintenance line, bumped to 5.40.0.

Add an opt-in ServiceBusSessionProcessor-based session listener so competing
consumers on ONE shared queue/subscription can each be pinned to their own
session id(s). On a shared entity the session id becomes a broker-enforced
routing key, so a listener pinned to "A" never sees the messages meant for "B".

- ConfigureSessionProcessor(Action<ServiceBusSessionProcessorOptions>) on both
  queue and subscription listener configs (multicast, so it composes)
- RequireSessionsWithOnlyTheseIdentifiers(params string[]) sugar that populates
  ServiceBusSessionProcessorOptions.SessionIds
- BuildSessionProcessorOptions maps ListenerCount -> MaxConcurrentSessions,
  keeps in-session FIFO, and reserves ReceiveMode=PeekLock /
  AutoCompleteMessages=false
- New InlineAzureServiceBusSessionListener; AzureServiceBusEnvelope gains a
  ProcessSessionMessageEventArgs complete/defer/dead-letter path

Gated: the legacy AcceptNextSession loop stays the default and only flips to the
processor when ConfigureSessionProcessor is set, so existing session listeners
are unaffected. Adapted to the 5.0 code shape (no ConfigureProcessor /
IReportConnectionState / PrefetchCount that exist on 6.x). No conditional
compilation needed: the Azure SDK session-processor APIs are available on
net8.0/net9.0/net10.0. Unit tests + an emulator end-to-end test reproducing the
issue, all green on net9.0; full project builds clean on all three TFMs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKAxzuZ36VP6UPcTQf3MUs

* ci: re-trigger CI now that 5.0 PR workflows are enabled (#3548)

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant