Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions .github/workflows/mrsal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -112,19 +112,8 @@ jobs:
doc_building:
if: github.event_name == 'push'
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate access token
uses: qoomon/actions--access-token@v3
id: access-token
with:
permissions: |
contents: write
- name: Setup python
uses: actions/setup-python@v4
with:
Expand All @@ -141,13 +130,7 @@ jobs:
run: |
# Run all nox sessions together to maintain proper flow
poetry run nox -s setup tests generate_badges
- name: Commit coverage badges
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 'Update coverage badges [skip ci]'
file_pattern: 'reports/badges/*.svg'
token: ${{ steps.access-token.outputs.token }}
- name: Copy test reports for GitHub Pages
- name: Copy test reports and badges for GitHub Pages
run: |
mkdir -p ./docs/_build/html/reports
cp -r ./reports/ ./docs/_build/html/reports/ || true
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# MRSAL AMQP
[![Release](https://img.shields.io/badge/release-1.1.2-blue.svg)](https://pypi.org/project/mrsal/)
[![Release](https://img.shields.io/badge/release-1.1.3-blue.svg)](https://pypi.org/project/mrsal/)
[![Python 3.10+](https://img.shields.io/badge/python-3.10%7C3.11%7C3.12-blue.svg)](https://www.python.org/downloads/)
[![Mrsal Workflow](https://github.com/NeoMedSys/mrsal/actions/workflows/mrsal.yaml/badge.svg?branch=main)](https://github.com/NeoMedSys/mrsal/actions/workflows/mrsal.yaml)
[![Coverage](https://github.com/NeoMedSys/mrsal/blob/main/reports/badges/coverage-badge.svg)](https://neomedsys.github.io/mrsal/reports/coverage/htmlcov/)

[![Coverage](https://neomedsys.github.io/mrsal/reports/badges/coverage-badge.svg)](https://neomedsys.github.io/mrsal/reports/coverage/htmlcov/)
## Intro
Mrsal is a simple to use message broker abstraction on top of [RabbitMQ](https://www.rabbitmq.com/), [aio-pika](https://aio-pika.readthedocs.io/en/latest/) and [Pika](https://pika.readthedocs.io/en/stable/index.html). The goal is to make Mrsal trivial to re-use in all services of a distributed system and to make the use of advanced message queing protocols easy and safe. No more big chunks of repetive code across your services or bespoke solutions to handle dead letters.

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ license = ""
maintainers = ["Jon E Nesvold <[email protected]>"]
name = "mrsal"
readme = "README.md"
version = "1.1.2"
version = "1.1.3"

[tool.poetry.dependencies]
colorlog = "^6.7.0"
Expand Down
2 changes: 1 addition & 1 deletion reports/coverage/coverage.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" ?>
<coverage version="7.8.2" timestamp="1749386194641" lines-valid="815" lines-covered="624" line-rate="0.7656" branches-covered="0" branches-valid="0" branch-rate="0" complexity="0">
<coverage version="7.8.2" timestamp="1749386622304" lines-valid="815" lines-covered="624" line-rate="0.7656" branches-covered="0" branches-valid="0" branch-rate="0" complexity="0">
<!-- Generated by coverage.py: https://coverage.readthedocs.io/en/7.8.2 -->
<!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
<sources>
Expand Down
2 changes: 1 addition & 1 deletion reports/junit/junit.xml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="26" time="8.554" timestamp="2025-06-08T12:36:24.970082+00:00" hostname="fv-az1055-569"><testcase classname="tests.test_mrsal_async_no_tls" name="test_valid_message_processing" time="0.029" /><testcase classname="tests.test_mrsal_async_no_tls" name="test_invalid_payload_validation" time="0.022" /><testcase classname="tests.test_mrsal_async_no_tls" name="test_requeue_on_invalid_message" time="0.024" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_retry_on_connection_failure_blocking" time="4.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_valid_message_processing" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_valid_message_processing_no_autoack" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_invalid_message_skipped" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_requeue_on_validation_failure" time="0.009" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_publish_message" time="0.004" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_publish_messages" time="0.004" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_retry_on_unroutable_error" time="4.008" /><testcase classname="tests.test_mrsal_blocking_tls.TestBlockRabbitSSLSetup" name="test_ssl_setup_with_missing_paths" time="0.002" /><testcase classname="tests.test_mrsal_blocking_tls.TestBlockRabbitSSLSetup" name="test_ssl_setup_with_valid_paths" time="0.002" /><testcase classname="tests.test_mrsal_blocking_tls.TestBlockRabbitSSLSetup" name="test_ssl_setup_without_env_vars" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_dlx_enabled_by_default" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_dlx_can_be_disabled" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_dlx_setup_in_exchange_and_queue" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_custom_dlx_name" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestQuorumQueues" name="test_quorum_enabled_by_default" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestQuorumQueues" name="test_quorum_queue_arguments" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_max_retries_setting" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_successful_processing_no_retry" time="0.005" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_validation_failure_with_dlx" time="0.005" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_validation_failure_without_dlx" time="0.008" /><testcase classname="tests.test_mrsal_dlx_retry.TestIntegration" name="test_complete_consumer_setup_with_defaults" time="0.006" /><testcase classname="tests.test_mrsal_dlx_retry.TestIntegration" name="test_minimal_setup_all_disabled" time="0.001" /></testsuite></testsuites>
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="26" time="8.597" timestamp="2025-06-08T12:43:32.584268+00:00" hostname="fv-az1778-213"><testcase classname="tests.test_mrsal_async_no_tls" name="test_valid_message_processing" time="0.030" /><testcase classname="tests.test_mrsal_async_no_tls" name="test_invalid_payload_validation" time="0.022" /><testcase classname="tests.test_mrsal_async_no_tls" name="test_requeue_on_invalid_message" time="0.023" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_retry_on_connection_failure_blocking" time="4.007" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_valid_message_processing" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_valid_message_processing_no_autoack" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_invalid_message_skipped" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_requeue_on_validation_failure" time="0.008" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_publish_message" time="0.004" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_publish_messages" time="0.004" /><testcase classname="tests.test_mrsal_blocking_no_tls" name="test_retry_on_unroutable_error" time="4.008" /><testcase classname="tests.test_mrsal_blocking_tls.TestBlockRabbitSSLSetup" name="test_ssl_setup_with_missing_paths" time="0.002" /><testcase classname="tests.test_mrsal_blocking_tls.TestBlockRabbitSSLSetup" name="test_ssl_setup_with_valid_paths" time="0.002" /><testcase classname="tests.test_mrsal_blocking_tls.TestBlockRabbitSSLSetup" name="test_ssl_setup_without_env_vars" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_dlx_enabled_by_default" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_dlx_can_be_disabled" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_dlx_setup_in_exchange_and_queue" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestDLXConfiguration" name="test_custom_dlx_name" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestQuorumQueues" name="test_quorum_enabled_by_default" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestQuorumQueues" name="test_quorum_queue_arguments" time="0.002" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_max_retries_setting" time="0.001" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_successful_processing_no_retry" time="0.005" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_validation_failure_with_dlx" time="0.005" /><testcase classname="tests.test_mrsal_dlx_retry.TestRetryMechanism" name="test_validation_failure_without_dlx" time="0.008" /><testcase classname="tests.test_mrsal_dlx_retry.TestIntegration" name="test_complete_consumer_setup_with_defaults" time="0.006" /><testcase classname="tests.test_mrsal_dlx_retry.TestIntegration" name="test_minimal_setup_all_disabled" time="0.001" /></testsuite></testsuites>