Bump RabbitMQ containers from 4.2.x to 4.3.0-management#84
Draft
niemyjski wants to merge 1 commit into
Draft
Conversation
…ructure - Upgrade Aspire AppHost and chaos cluster to RabbitMQ 4.3.0-management - Remove docker-compose.yml (Aspire AppHost handles all container orchestration) - Remove build/Dockerfile and delayed_message_exchange plugin (incompatible with 4.3) - Remove delayed exchange test classes and fixture wiring - Remove --delayed CLI option from sample apps - Clean up dependabot, solution items, and VS Code tasks
002572a to
92ce2fb
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the test/apphost RabbitMQ container versions to RabbitMQ 4.3.0 and removes the repository’s docker-compose + delayed-exchange Docker image/test harness paths (including the delayed-exchange sample CLI switches), consolidating container orchestration around the Aspire AppHost.
Changes:
- Pin Aspire AppHost RabbitMQ resource to 4.3.0 and bump chaos-cluster nodes to 4.3.0-management.
- Remove the delayed-exchange container wiring from the Aspire test fixture/AppHost and delete the delayed-exchange “shim” test classes.
- Delete local Docker assets (docker-compose.yml, build/Dockerfile), remove the VS Code “docker: rabbitmq” task, and remove Dependabot Docker update configs.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Foundatio.RabbitMQ.Tests/Messaging/RabbitMqMessageBusDelayedExchangeTests.cs | Deleted delayed-exchange fixture-based test entrypoint. |
| tests/Foundatio.RabbitMQ.Tests/Messaging/RabbitMqMessageBusClassicDelayedExchangeTests.cs | Deleted classic delayed-exchange fixture-based test entrypoint. |
| tests/Foundatio.RabbitMQ.Tests/AspireFixture.cs | Removes delayed-exchange connection string/resource wait; retains core messaging + chaos availability. |
| tests/Foundatio.RabbitMQ.AppHost/Program.cs | Pins RabbitMQ to 4.3.0 and bumps chaos nodes to 4.3.0-management; removes delayed container. |
| samples/Foundatio.RabbitMQ.Subscribe/Program.cs | Removes --delayed option and port-rewrite behavior. |
| samples/Foundatio.RabbitMQ.Publish/Program.cs | Removes --delayed option and port-rewrite behavior. |
| Foundatio.RabbitMQ.slnx | Removes docker-compose/Dockerfile from Solution Items. |
| docker-compose.yml | Deleted. |
| build/Dockerfile | Deleted (previously built delayed-exchange plugin image). |
| .vscode/tasks.json | Removes the “docker: rabbitmq” task. |
| .github/dependabot.yml | Removes Docker/docker-compose update configurations. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
5
to
8
| builder.AddRabbitMQ("messaging") | ||
| .WithImageTag("4.3.0") | ||
| .WithManagementPlugin(); | ||
|
|
Comment on lines
15
to
19
| private DistributedApplication? _app; | ||
| public DistributedApplication App => _app ?? throw new InvalidOperationException("Fixture not initialized - Aspire AppHost failed to start"); | ||
| public string? MessagingConnectionString { get; private set; } | ||
| public string? MessagingDelayedConnectionString { get; private set; } | ||
| public bool ChaosClusterAvailable { get; private set; } | ||
| public bool IsAvailable => _app is not null && MessagingConnectionString is not null; |
Comment on lines
6
to
11
| <Folder Name="/Solution Items/"> | ||
| <File Path=".editorconfig" /> | ||
| <File Path="build/common.props" /> | ||
| <File Path="build/Dockerfile" /> | ||
| <File Path="docker-compose.yml" /> | ||
| <File Path="README.md" /> | ||
| <File Path="tests/Directory.Build.props" /> | ||
| </Folder> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AddRabbitMQresource to 4.3.0 via.WithImageTag("4.3.0")build/Dockerfile) remains on 4.2.5 since therabbitmq_delayed_message_exchangeplugin is incompatible with RabbitMQ 4.3 (Mnesia removed)Supersedes #74 (dependabot PR that only touches docker-compose.yml).
Notes
The existing code already handles 4.3 compatibility:
_delayedExchangePluginIncompatibleVersiongates the plugin probe on >= 4.3_globalQosRemovedVersionhandles per-channel QoS changesConsumerTimeout,DelayedRetries,MessagePriorityalready validate server version >= 4.3No source code changes needed -- this is purely a container version bump.
Test plan
dotnet buildsucceeds with 0 warningsdotnet testpasses all non-infrastructure-dependent tests (118 passed, 0 failed)