Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 9, 2025

This PR adds comprehensive LavinMQ testing to the CI workflow alongside the existing RabbitMQ tests, ensuring the AMQP client library works correctly with both broker implementations.

Changes Made

New CI Jobs Added

  • test-lavinmq: Runs the complete Node.js test suite (62 tests) against LavinMQ across all supported Node.js versions (18.x, 20.x, 22.x, 23.x, 24.x)
  • test-browser-lavinmq: Runs browser-based tests against LavinMQ with WebSocket support enabled

Implementation Details

The new LavinMQ jobs use the official cloudamqp/lavinmq-action@v1 GitHub Action, which provides a much simpler setup compared to the existing RabbitMQ configuration:

- name: Start LavinMQ
  uses: cloudamqp/lavinmq-action@v1
  with:
    websocket: true  # For browser tests

No certificate generation, complex configuration, or additional dependencies are required for LavinMQ testing.

Benefits

  • Broker Compatibility: Validates the client works correctly with both RabbitMQ and LavinMQ AMQP implementations
  • Early Issue Detection: Catches broker-specific compatibility issues during development
  • Parallel Execution: LavinMQ and RabbitMQ tests run simultaneously for efficient CI
  • Zero Code Changes: Uses the same comprehensive test suite without modification
  • Backward Compatibility: All existing RabbitMQ tests and TLS support remain unchanged

Test Coverage

All 62 existing tests run against LavinMQ, covering:

  • Connection management and channels
  • Queue operations (declare, bind, delete, purge)
  • Publishing and consuming messages
  • Exchange operations
  • Confirmations and transactions
  • Error handling and edge cases
  • Browser WebSocket connectivity

The CI now provides comprehensive AMQP broker testing coverage while maintaining the existing test infrastructure.

Fixes #127.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/cloudamqp/lavinmq-action
    • Triggering command: curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@Copilot Copilot AI changed the title [WIP] Test against LavinMQ in CI Add LavinMQ testing to CI workflow Sep 9, 2025
@Copilot Copilot AI requested a review from baelter September 9, 2025 11:37
Copilot finished work on behalf of baelter September 9, 2025 11:37
Copilot AI and others added 3 commits September 9, 2025 14:28
Co-authored-by: baelter <1399369+baelter@users.noreply.github.com>
Co-authored-by: baelter <1399369+baelter@users.noreply.github.com>
Co-authored-by: baelter <1399369+baelter@users.noreply.github.com>
@baelter baelter force-pushed the copilot/test-lavinmq-in-ci branch from 81707b3 to e81023c Compare September 9, 2025 12:28
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.

Test against LavinMQ in CI

2 participants